Commit Graph

127 Commits

Author SHA1 Message Date
mintsuki
7f14f2f0d0 misc: Improve printing effectively on panics and errors 2022-09-17 10:40:14 +02:00
mintsuki
e76c8d47a9 multiboot2: Fix broken EFI memmap length calculation 2022-09-15 22:31:50 +02:00
mintsuki
0f04f6860a smp: Remove hacks needed for stivale 2022-09-14 14:54:55 +02:00
mint
c1e98f26c9
Merge pull request #216 from czapek1337/blake2b
Implement blake2b hash function and checksum validation
2022-09-13 09:30:45 +02:00
czapek1337
71eb143611
print: Specifier for printing URIs 2022-09-12 14:10:36 +02:00
mint
f8d714317b
Merge pull request #217 from Andy-Python-Programmer/trunk
DTB: ensure the `dtb_ptr` is an HHDM address
2022-09-12 09:27:18 +02:00
Andy-Python-Programmer
528be7230f
DTB: ensure the dtb_ptr is an HHDM address
* Ensure that the `dtb_ptr` is an HHDM address
* If DTB is not found, do not generate the response

Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2022-09-12 17:25:35 +10:00
mintsuki
3452e492bb elf: General refactor 2022-09-11 10:05:45 +02:00
mintsuki
5e06a79fdc limine: Do not set NX bit in page tables if NX not available 2022-09-02 03:41:25 +02:00
mintsuki
d3385da3e3 limine: Make NX feature not mandatory 2022-09-02 03:31:22 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
27711e3c27 fs: Add case insensitive fopen() for config and system files 2022-09-02 01:12:13 +02:00
mintsuki
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +02:00
mintsuki
65671d73c7 misc: Update several macros 2022-08-26 23:30:00 +02:00
Kacper Słomiński
e1f6ac8860
Initial AArch64 port (#205)
* Initial aarch64 port

* Enable chainload on aarch64

No changes necessary since it's all UEFI anyway.

* Add specification for Limine protocol for aarch64

* PROTOCOL: Specify state of information in DT /chosen node

* common: Add spinup code for aarch64

* common: Port elf and term to aarch64

* common: Port vmm to aarch64

Also prepare to drop VMM_FLAG_PRESENT on x86.

* protos: Port limine boot protocol to aarch64

Also drop VMM_FLAG_PRESENT since we never unmap pages anyway.

* test: Add DTB request

* PROTOCOL: Port SMP request to aarch64

* cpu: Add cache maintenance functions for aarch64

* protos/limine, sys: Port SMP to aarch64

Also move common asm macros into a header file.

* test: Start up APs

* vmm: Unify get_next_level and implement large page splitting

* protos/limine: Map framebuffer using correct caching mode on AArch64

* CI: Fix GCC build for aarch64

* entry, menu: Replace uses of naked attribute with separate asm file

GCC does not understand the naked attribute on aarch64, and didn't
understand it for x86 in older versions.
2022-08-18 17:32:54 +02:00
mintsuki
fb2a6e1f29 limine: Remove stray external symbol declaration 2022-08-14 15:31:53 +02:00
mintsuki
997c787c16 term/limine: Allow overriding terminal config in entry 2022-08-14 15:09:57 +02:00
mintsuki
7ade45b230 misc: struct e820_entry_t -> struct memmap_entry 2022-08-13 19:54:49 +02:00
mintsuki
793d029370 linux: Only make framebuffer EFI and 64-bit if above 4GiB 2022-08-06 19:47:46 +02:00
mintsuki
367bf3e5e9 linux: Find compromise for 32-bit EFI boot 2022-08-04 14:16:42 +02:00
mintsuki
0ef0c3adc5 linux, pmm: Get a boot with 32-bit UEFI. Addresses #185 2022-08-04 12:56:46 +02:00
mintsuki
c43acd445f limine: Drop legacy framebuffer and terminal requests 2022-07-29 00:53:59 +02:00
mintsuki
4c6fba824c chainload: Add GPT_GUID support and improve documentation. Closes #201 2022-07-26 19:21:47 +02:00
mintsuki
4859ee9790 Revert "multiboot: Take better care of not having the reloc stub overwritten"
This reverts commit 009fb59b69.
2022-07-24 22:32:25 +02:00
mintsuki
d2b1579668 multiboot: Properly check elsewhere returns 2022-07-24 22:28:16 +02:00
mintsuki
8a8b62fbcf chainload: Fix bug where PARTITION was ignored if MBR_ID was set. Addresses #197 2022-07-14 19:24:41 +02:00
mintsuki
2a448febb3 protos: Move 'loading kernel' prints where they belong 2022-07-13 08:34:30 +02:00
mintsuki
e5e125887b protos: Remove pointless returns added for autodetection 2022-07-13 07:40:53 +02:00
mintsuki
62c029c218 chainload: Implement MBR_ID config option. Closes #190 2022-07-11 01:30:54 +02:00
mintsuki
fb75a6876e chainload_next: Fix some UEFI bugs 2022-07-11 00:53:33 +02:00
mintsuki
4511827780 chainload_next: Pass config through to chainload on UEFI 2022-07-11 00:27:22 +02:00
mintsuki
abd641bba0 protos: Fix typo in chainload_next.c 2022-07-11 00:19:32 +02:00
mintsuki
95272c5f1d protos: Add chainload_next protocol. Closes #191 2022-07-11 00:15:56 +02:00
mintsuki
00b9f44255 limine: Fix assignment of paths broken in 0431623 2022-07-07 10:08:55 +02:00
mintsuki
009fb59b69 multiboot: Take better care of not having the reloc stub overwritten 2022-07-05 20:42:09 +02:00
mintsuki
8e54ea461b protos: Remove ugly .32.c files and replace them with pure asm files 2022-07-05 18:53:39 +02:00
mintsuki
48318c25eb limine: Fix bug where HHDM would be randomised even with KASLR disabled 2022-07-04 08:58:44 +02:00
mintsuki
af2f92210a multiboot: Do not panic if unable to set text mode 2022-06-30 07:25:33 +02:00
mintsuki
0fac035a34 multiboot2: Add stub support for relocation header tag 2022-06-30 05:50:31 +02:00
mintsuki
b899d1accd multiboot2: Remove useless, broken comparison 2022-06-29 15:20:09 +02:00
mintsuki
a1bf37382d multiboot2: Bring framebuffer tag up to par with mb1 2022-06-29 13:25:09 +02:00
mintsuki
77b405a6b6 multiboot2: Bring a.out kludge up to par with mb1 2022-06-29 13:04:26 +02:00
mintsuki
94a20e649b multiboot: Fix relocator assembly issues 2022-06-29 12:41:42 +02:00
mintsuki
3d65bfb9b9 misc: Misc elsewhere and multiboot-related bug fixes 2022-06-29 12:32:50 +02:00
mintsuki
215bf87993 misc: Bring mb2 up to par to mb1 wrt everywhere ranges and bug fixes 2022-06-29 10:27:04 +02:00
mintsuki
19287d5ca1 misc: Add elsewhere TU and rework mb1 to use it 2022-06-29 09:34:14 +02:00
mintsuki
a2f7d2d314 multiboot1: Add ahead-of-time info size calculation 2022-06-29 07:26:06 +02:00
mintsuki
d7d0a84462 multiboot1: Properly support relocation for a.out kludge kernels and bug fixes 2022-06-28 11:41:15 +02:00
mintsuki
fba565b34e elf: Add support for sliding and ELF ranges to ELF32 as well 2022-06-28 10:26:14 +02:00
mintsuki
f62345ee64 build: Add generic x86 asm extension grouping 2022-06-28 08:47:40 +02:00