Yggdrasill
bb1316ae00
Sort the overlap map and split entries
...
The overlap map must be sorted before it can be split. If it's
not sorted prior, the entry length and base calculations are
incorrect, which cascades into all other overlaps for the same
usable memory region.
After the overlap map has been sorted, it is looped over and
entries are split off into the memory map.
Add explanatory comments
Formatting fixes
2023-07-30 05:36:43 +01:00
Yggdrasill
5c289f58b4
Build an overlap map if entries completely overlap
...
This commit adds the logic to construct the overlap map used by
the split_entry() function later. The reason an overlap map must
be constructed is because complete overlaps within a usable
region of memory may happen multiple times. The overlap map
keeps track of these overlaps so that entries are correctly
split if that is the case.
2023-07-30 04:54:11 +01:00
Yggdrasill
c8581242a9
Add overlap map and split function
...
This commit adds the split_entry() function:
static size_t split_entry(struct memmap_entry *,
struct memmap_entry *,
struct memmap_entry *);
The split function does a three-way split of overlapping memory
regions, and writes zero or one entries into a destination
buffer. The three pointers it takes as arguments are the
destination buffer, the bad type entry, and the good type entry
respectively. It returns zero if no new entries were written to
the destination buffer, or the amount of entries written
otherwise.
2023-07-30 04:54:06 +01:00
mintsuki
738010031d
docs: Update example Limine version in README to 5.20230729.0
2023-07-29 12:00:40 -05:00
mintsuki
0b517a9b82
misc: Update test wallpaper and screenshot
2023-07-29 11:32:55 -05:00
mintsuki
edaadc2201
gterm: Change resolutions at which autoscaling is triggered
2023-07-29 04:45:02 -05:00
mintsuki
e1d25f8c66
menu: Center menu vertically
2023-07-29 03:52:57 -05:00
mintsuki
551d5163fb
gop: Readd preset mode storage
2023-07-29 03:12:31 -05:00
mintsuki
b8ea97ccb1
menu: Do not draw box around boot menu
2023-07-29 02:17:34 -05:00
mintsuki
53aa3417e5
menu: Adjust centering by 2 characters to the left
2023-07-28 04:02:27 -05:00
mintsuki
1fc52415dd
menu: Fix a couple of boot menu alignment issues
2023-07-28 01:36:19 -05:00
mintsuki
bfa16d3d3b
menu: Initialise max_len if null regardless of shift
2023-07-28 00:30:44 -05:00
mintsuki
521a1f2276
menu: Fix maybe uninitialised issue with cur_len var
2023-07-27 23:17:36 -05:00
mintsuki
7ca22bd6e8
menu: Fix NULL deref bug with shift variable
2023-07-27 23:12:35 -05:00
mintsuki
1bccba02ae
console: Add slide command
2023-07-27 23:09:42 -05:00
mintsuki
6c1eba874a
menu: Center boot menu
2023-07-27 22:50:17 -05:00
mintsuki
08f3b4fb00
Revert "build: Make limine-uefi-cd.bin 16MiB in size (use FAT16)"
...
This reverts commit 2da0a08072
.
2023-07-27 02:32:34 -05:00
mintsuki
71ba012a93
gterm: Autoscale font on higher resolutions
2023-07-27 01:41:32 -05:00
ミンツキ
16b5e75cb5
Merge pull request #284 from qookei/fix-aa64-ident-map
...
limine: Remove dependency on identity map in AArch64 code
2023-07-26 16:18:38 -05:00
Kacper Słomiński
1a03213601
limine: Remove dependency on identity map in AArch64 code
2023-07-26 23:13:33 +02:00
Kacper Słomiński
eee638c583
limine: Adjust higher half offsets for AArch64
2023-07-26 23:05:40 +02:00
Kacper Słomiński
075824686f
limine: Use a higher-half pointer for the stack on AArch64
2023-07-26 23:05:40 +02:00
mintsuki
303592f9e7
limine: Do not drop unconditional mapping of first 4GiB
2023-07-25 02:54:00 -05:00
mintsuki
296aba6bb7
limine: Drop legacy identity map and map of reserved regions
2023-07-21 15:21:38 -05:00
mintsuki
81e6849431
misc: Minor updates to linker scripts
2023-07-15 01:10:06 +02:00
mintsuki
fb038c99c6
build: Get rid of OBJCOPY2ELF_FLAGS since only IA-32/BIOS used it
2023-07-14 22:33:24 +02:00
mintsuki
bf2a37992d
build: Get rid of RISCV_CFLAGS variable as it is now unnecessary
2023-07-13 07:58:07 +02:00
mintsuki
a1b4ff0b46
ci: Remove openssh dependency no longer required for release
2023-07-13 04:57:38 +02:00
mintsuki
f16b428aaf
riscv64: Do not use global pointer register
2023-07-13 04:45:33 +02:00
mintsuki
5cbc71a133
docs/protocol: Fix typo and mandate ra and gp registers to be 0 for rv64
2023-07-13 03:39:47 +02:00
mintsuki
94a19a5c37
host/limine: Fix typo
2023-07-10 18:57:06 +02:00
mintsuki
93942a3334
docs: Update example Limine version in README to 5.20230709.0
2023-07-09 03:55:27 +02:00
mintsuki
b72d033510
elf: elf64_load(): Remove accidentally left in debug code
2023-07-09 03:40:06 +02:00
mintsuki
11f50a6aaa
part: Require keypresses between entry displays in list_volumes()
2023-07-09 03:37:55 +02:00
mintsuki
79e50a82af
misc: Use assembly for memory functions on x86
2023-07-09 03:09:45 +02:00
mintsuki
17e26c8c95
elf: Fix potential uninitialised usage of bss_size
2023-07-09 03:09:45 +02:00
mintsuki
9333f1ca8b
limine/elf: Optimise not to scan .bss for requests
2023-07-08 23:44:50 +02:00
mintsuki
99d671ecf8
build: Drop -Wno-deprecated-declarations flag
2023-06-20 16:24:27 +02:00
mintsuki
7882d89b4e
limine: Drop 5-level paging request support
2023-06-20 16:10:08 +02:00
mintsuki
1ad6d6013e
limine: Drop terminal request support
2023-06-20 15:58:52 +02:00
mintsuki
2ac43a320f
asm: Add missing section directives
2023-06-20 13:24:49 +02:00
mintsuki
2d6a1e4535
console: Add firmware type command
2023-06-20 11:10:33 +02:00
mintsuki
d08ea721a5
limine.c: Add copyright and license information to version command
2023-06-20 10:19:01 +02:00
mintsuki
6e41938206
gensyms: Filter out non-function symbols
2023-06-20 08:54:53 +02:00
mintsuki
67fd1a8d9f
docs: Update example Limine version in README to 4.20230615.0
2023-06-15 13:20:43 +02:00
mintsuki
66268f7d7f
pmm: Use fixed value of 1024 for recl entries count
2023-06-15 13:06:52 +02:00
mintsuki
cb14f44eb3
pmm: Fix change-memmap-in-use bug
2023-06-15 12:54:36 +02:00
mintsuki
910a0d84a0
vmm: Fix page_sizes values and move declaration to top
2023-06-15 08:21:48 +02:00
mintsuki
2da0a08072
build: Make limine-uefi-cd.bin 16MiB in size (use FAT16)
2023-06-15 03:14:04 +02:00
mintsuki
670b635ae8
config: Add and document ARCH built-in macro
2023-06-15 02:23:48 +02:00