228 Commits

Author SHA1 Message Date
Kacper Słomiński
aed3b3348e protos/linux_risc: Properly fill VirtualStart in memory map
This lets Linux use UEFI runtime services.
2024-06-16 20:46:23 +02:00
mintsuki
8c75c55a92 misc/uefi: Switch from EfiLoaderData to EfiLoaderCode at 2 more allocation sites 2024-06-16 18:27:55 +02:00
mintsuki
9fb6423002 protos/linux: riscv64: Fix protocol version check 2024-06-16 07:40:50 +02:00
mintsuki
74aa228702 protos/linux: Rename files to avoid unnecessary diffs (2) 2024-06-15 21:30:37 +02:00
mintsuki
2541760b98 protos/linux: Rename files to avoid unnecessary diffs (1) 2024-06-15 21:30:06 +02:00
mintsuki
440ba05e08 protos/linux: Rename files (2) 2024-06-12 02:07:39 +02:00
mintsuki
56b7a32dfc protos/linux: Rename files (1) 2024-06-12 02:07:12 +02:00
Kacper Słomiński
c95ad88004 protos/linux: Add support for AArch64 2024-06-11 21:59:30 +02:00
Kacper Słomiński
f49dbd4ae9 protos/linux: Fill DTB with information about UEFI
Also create a new DTB if one is not available. This replicates what Linux's
EFISTUB does internally before handing control over to the kernel proper.
2024-06-11 21:58:02 +02:00
Yao Zi
7767f24689 protos/linux_riscv64: support linux protocol on riscv64 2024-06-10 04:23:17 +08:00
mintsuki
5a7052d135 lib/elf: Add more and better sanity checks 2024-06-03 22:34:45 +02:00
Philipp Schuster
63d29af182 multiboot2: fix efi{32,64]_ih generation 2024-05-22 23:06:06 +02:00
mintsuki
cd9efbf8b6 limine: Define and implement base revision 2 2024-05-03 19:31:12 +02:00
mintsuki
51304b359d limine: Remove left over start marker comparison code 2024-05-03 07:01:11 +02:00
mintsuki
ba86da93e0 limine: Document and implement requests start marker 2024-05-03 06:43:49 +02:00
Philipp Schuster
b715948575 misc: init typos for spell checking 2024-04-05 16:42:15 +02:00
mintsuki
001a442750 limine: Add support for MAX_PAGING_MODE config option 2024-03-31 09:04:39 +02:00
cospplredman
ba5c0004e6 fixed header guard names
made them more standard compliant
2024-03-20 03:06:55 +01:00
mintsuki
1d45bf541e protocols/limine: Add support for requests delimiter 2024-03-13 14:58:56 +01:00
Philipp Schuster
1407f48af1 multiboot2: better logging of unknown and unsupported tags 2024-01-31 16:17:18 +01:00
Philipp Schuster
f5c449ac00 multiboot2: don't fail on 0x9 tag when 0x3 is available
A kernel can define multiple entries. Even if they are marked as required,
it makes no sense to panic when there is a valid and expected alternative.

Further, this aligns the behavior with GRUB2.

This solution is however simple, as it expects that all tags appear in
natural order. However, every developer that is sane will order them
naturally.
2024-01-31 16:17:18 +01:00
mintsuki
4b7911ebd5 limine: Only print missing internal module warning on verbose 2024-01-07 01:52:21 +01:00
mintsuki
cc579a8da2 limine: Add compressed internal modules support. Closes #324 2024-01-07 01:52:21 +01:00
mintsuki
101d04493d limine: Gate EFI memory map feature out of BIOS port 2023-12-07 00:31:45 +01:00
mintsuki
302d57e47d limine: Add EFI memory map feature 2023-12-07 00:31:45 +01:00
mintsuki
40313b25ec multiboot2: Add support for console flags header tag 2023-12-07 00:31:45 +01:00
mintsuki
d527109ca8 multiboot2: Fix some warnings discovered by GCC 2023-12-07 00:31:45 +01:00
mintsuki
38af3f9843 multiboot2: Initial support for relocatable header tag 2023-12-07 00:31:45 +01:00
mintsuki
4321d910f6 limine: Fix bug where on 32-bit ports, .limine_reqs section was not parsed correctly 2023-11-03 06:24:58 +01:00
mintsuki
4ade725b78 limine: Deprecate .limine_reqs and remove it as of base revision 1 2023-11-03 06:24:58 +01:00
mintsuki
30397df228 limine: Specify and implement base revision 1 memory mappings 2023-11-03 06:24:58 +01:00
mintsuki
2c8c0c3deb Revert "misc: Converge with 5.x"
This reverts commit f9682543fd6ba603ced0135053893c66712a857b.
2023-11-03 06:24:58 +01:00
mintsuki
8c2ef81414 limine: Add way for kernel to determine whether base revision is supported 2023-11-03 06:24:58 +01:00
mintsuki
553c7b2945 limine: Slight change of how base revision is determined 2023-11-03 06:24:58 +01:00
mintsuki
f4b78bec63 limine: Add support for base protocol revisions 2023-11-03 06:24:58 +01:00
mintsuki
a0127f9f40 pmm: Add MEMMAP_MAX macro and use it instead of hardcoding 256 2023-10-24 18:38:18 +02:00
mintsuki
c1f5b21177 misc: Remove unnecessary ifdefs added in previous commits 2023-10-06 12:25:44 -05:00
mintsuki
b474b6bad0 misc: Only allocate memory and modules above 4GiB on 64-bit platforms 2023-10-06 12:25:44 -05:00
mintsuki
5323bce117 pmm: Allow allocations above 4GiB and use them in freadall() 2023-10-06 12:25:44 -05:00
mintsuki
a83dafe6f4 misc: Add section .note.GNU-stack to assembly files 2023-09-28 06:56:28 -05:00
mintsuki
87a88bf565 smp: Remove dead 32-bit trampoline code 2023-09-23 17:37:38 -05:00
mintsuki
042a6e9554 misc: Backports from trunk 2023-09-16 15:12:14 -05:00
xvanc
e3d65aa628 riscv: refactor smp init 2023-09-16 11:28:15 -05:00
mintsuki
b54c3fc9cc protos/chainload: Fix bug that could result in bogus oom errors. Fixes #302 2023-09-11 17:16:19 -05:00
Kacper Słomiński
916aa370b2 protos: chainload: Allocate memory for the null terminator in cmdline 2023-09-11 17:16:19 -05:00
mintsuki
e6a67c80a6 x86/gdt: Mark accessed flag in descriptors 2023-09-09 10:08:44 -05:00
mintsuki
d66df6b38a limine: Do not return SMBIOS response if not present 2023-08-10 19:26:54 -05:00
Kacper Słomiński
dc68fcaff7 limine: Use a higher-half pointer for the stack on AArch64 2023-07-26 17:05:33 -05:00
mintsuki
9333f1ca8b limine/elf: Optimise not to scan .bss for requests 2023-07-08 23:44:50 +02:00
mintsuki
7882d89b4e limine: Drop 5-level paging request support 2023-06-20 16:10:08 +02:00