Commit Graph

923 Commits

Author SHA1 Message Date
mintsuki
8845f97277 protos/limine: Amend base revision 3 to keep EFI memmap ptr as physical 2024-11-30 01:38:40 +01:00
mintsuki
375360f4b9 build: Misc improvements wrt variable passing 2024-11-28 00:42:36 +01:00
mintsuki
0eaf833c1a lib/term: Reuse a framebuffer for UEFI fallback term if boot services exited instead of bailing out 2024-11-25 21:58:48 +01:00
mintsuki
21056a3211 sys/smp: Ensure machines with pre-enabled x2APIC are properly supported 2024-11-25 12:58:48 +01:00
mintsuki
c844c61363 build: Get rid of ?= usage and USER_VARIABLE 2024-11-22 20:29:16 +01:00
mintsuki
51bae5d60a build: Remove redundant -nostdinc flags for cc-runtime 2024-11-08 08:33:41 +01:00
mintsuki
a3d16e00f9 build: Fix library order at link time 2024-11-06 11:35:28 +01:00
mintsuki
855c52a030 build: Use new, non-packed, cc-runtime revisions 2024-11-05 23:47:33 +01:00
no92
03d62d883c common: support SMBIOS-passed configs with a limine:config: prefix
This commit allows for passing configurations via SMBIOS. The first
encountered OEM string (type 11) that begins with a `limine:config:`
prefix is taken as the configuration. This takes priority over
configurations loaded from disk.
2024-11-04 02:46:48 +01:00
no92
5efc523158 acpi: fix incorrect SMBIOS entry point structure 2024-11-03 23:19:43 +01:00
mintsuki
ffbdf54f8e protos/limine: Amend base rev 3 to mandate reporting base rev used to kernels 2024-10-31 07:53:01 +01:00
mintsuki
524b34d149 Revert "protos/limine: Optimisation of the memory map before pagemap build"
This reverts commit f379a9157d.
2024-10-28 09:56:49 +01:00
mintsuki
f379a9157d protos/limine: Optimisation of the memory map before pagemap build 2024-10-28 09:04:01 +01:00
mintsuki
a82e67d9a4 protos/limine: Make some pointers physical for base rev 3 2024-10-28 07:10:54 +01:00
mintsuki
7be1573ccc Revert "efi_thunk/x86: Move to a custom stack inside .bss"
This reverts commit af27df9b7a.
2024-10-28 04:31:47 +01:00
mintsuki
46ba9940c0 protos/limine: Fix typo 2024-10-28 04:25:20 +01:00
mintsuki
b0f94babc6 protos/limine: Sort out base revision 3 related memmap issues 2024-10-28 04:20:30 +01:00
mintsuki
99e0ba3b1f protos/limine: Only map 4 memory map entry types in the default mappings 2024-10-28 00:34:00 +01:00
mintsuki
af27df9b7a efi_thunk/x86: Move to a custom stack inside .bss 2024-10-27 22:06:39 +01:00
mintsuki
29907c9d12 config: Add and document FW_TYPE built-in macro. Fixes #422 2024-10-27 02:51:31 +02:00
mintsuki
b67d07a5ba build: Bump Flanterm 2024-10-26 23:52:39 +02:00
mintsuki
a96daf1632 vmm: Fix map_pages() 2024-10-26 09:20:58 +02:00
mintsuki
29a2c6038f protos/limine: Begin work on base rev 3 by removing unconditional 4GiB map 2024-10-25 06:15:28 +02:00
mintsuki
3f32d802ae vmm: Automatically detect right page size to use 2024-10-25 05:26:52 +02:00
Marvin Friedrich
af488d66c8 protos/limine: Filter memory@... nodes from device trees (#421)
* protos/limine: Filter `memory@...` nodes from device trees

* docs: Mention removal of `memory@...` nodes for the DTB response
2024-10-18 21:29:17 +02:00
Marvin Friedrich
6d2995a3f1 protos/linux: Add device tree blob override config option (#420)
* protos/linux: Add device tree blob override config option

* protos/linux: Remove unnecessary UEFI check
2024-10-18 21:21:34 +02:00
Marvin Friedrich
4cdda6a272 protos/limine: Add device tree blob override config option (#419)
* protos/limine: Add dtb_path config option

* test: Add a device tree and dtb_path to the config

* docs: Add dtb_path configuration information

* protos/limine: Fix missing argument for dtb_path for x86

* protos/limine: Correct panic message argument

* protos/limine: Use freadall instead of freadall_mode
2024-10-18 20:01:24 +02:00
mintsuki
163647f129 mm/pmm: Ignore UEFI memory map entries of length 0. Fixes #417 2024-10-15 23:14:23 +02:00
mintsuki
04883abb0c drivers/vbe: Fix size of reserved area of VBE mode info struct 2024-10-15 21:40:18 +02:00
mintsuki
b08182a32e lib/spinup: Add missing push/pops of scratch registers for C call 2024-10-15 19:02:42 +02:00
mintsuki
3e71596bdb protos/limine: Check for PAT availability in SMP trampoline as well 2024-10-12 17:15:04 +02:00
mintsuki
39b92df6f1 protos/limine: Work around GCC warning by initialising randomise_hhdm_base 2024-10-12 03:53:06 +02:00
mintsuki
7fc7ececbc protos/limine: Add randomise_hhdm_base config option 2024-10-12 03:47:23 +02:00
mintsuki
f0ae2a42ce misc: Update libfdt to 1.7.1 upstream 2024-10-12 02:33:12 +02:00
mintsuki
c97d55bbc0 misc: Introduce libc-compat headers to avoid the ugly libfdt patch 2024-10-12 02:19:17 +02:00
mintsuki
7603db66cb mm/vmm: Complement 704dd7ee25 by not using WC caching on PTEs if not supported 2024-10-11 19:19:22 +02:00
mintsuki
704dd7ee25 protos/limine: Make the PAT non-mandatory and check for support before using it
Additionally, move the PAT enabling code to the code that runs in a non-paged mode in order to avoid potential weird issues with cache flushing
2024-10-11 18:34:36 +02:00
monkuous
d46f609d79 protos/limine: bump MEMMAP_MAX to 1024 2024-09-29 21:25:11 +02:00
monkuous
f7904f8d9b protos/limine: increase MEMMAP_MAX 2024-09-28 10:45:01 +02:00
mintsuki
7d66858bcb build: gensyms.sh: Improve exit trap 2024-09-26 14:34:01 +02:00
monkuous
99c94dddfc protos/multiboot2: use unsigned relocated_base 2024-09-17 22:35:15 +02:00
monkuous
6bdf6c3e58 protos/multiboot2: use signed integers for relocation 2024-09-17 22:24:32 +02:00
monkuous
337b15089f protos/multiboot2: fix incorrect calculation of reloc_slide 2024-09-17 14:41:37 +02:00
monkuous
08812292ca protos/multiboot2: fix ordering of ALIGN_* macro parameters 2024-09-17 14:39:41 +02:00
mintsuki
b6be98a0f6 build: Rebrand limine-efi to nyu-efi 2024-09-13 08:07:53 +02:00
mintsuki
5517cb2824 build: freestanding-headers -> freestnd-c-hdrs-0bsd 2024-09-13 07:44:23 +02:00
mintsuki
a0a39575b1 Revert "build: freestanding-headers -> freestnd-c-hdrs"
This reverts commit 91b7ef85ab.
2024-09-09 11:59:10 +02:00
mintsuki
1ec9259029 pmm: Fix a bug introduced in 6e61b4bd50 2024-09-09 07:45:34 +02:00
mintsuki
8382cd1794 build: Do not use linker script subtractions as they are broken on GCC 2024-09-09 07:43:24 +02:00
mintsuki
91b7ef85ab build: freestanding-headers -> freestnd-c-hdrs 2024-09-08 15:39:32 +02:00