Commit Graph

202 Commits

Author SHA1 Message Date
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
93f8d011ff multiboot2: Fix bug where old ACPI tag would not get passed if RSDP rev == 0 2022-08-12 23:33:28 +02:00
mintsuki
c43acd445f limine: Drop legacy framebuffer and terminal requests 2022-07-29 00:53:59 +02:00
mintsuki
f2d611eb83 build: Remove unnecessary -mno-3dnow flag 2022-07-18 21:34:26 +02:00
mintsuki
0af37b7cf0 fwcfg: Drop support 2022-07-13 06:23:20 +02:00
mintsuki
2b5f1039c2 multiboot2: Improve multiboot2 test case 2022-06-29 15:32:38 +02:00
mintsuki
3d65bfb9b9 misc: Misc elsewhere and multiboot-related bug fixes 2022-06-29 12:32:50 +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
746d0ad529 protos: Drop stivale and stivale2 support 2022-06-14 03:56:30 +02:00
mintsuki
9585dcbd5c limine: Add new requests for terminal and framebuffer 2022-05-22 03:44:04 +02:00
mintsuki
dae8927078 limine: Add support for .limine_reqs ELF section 2022-04-14 20:34:59 +02:00
mintsuki
5c7578c54a limine: Add media type to limine_file structure 2022-04-02 10:28:07 +02:00
mintsuki
5f525a1052 limine: Change terminal write contract 2022-04-02 10:05:14 +02:00
mintsuki
fb175747df limine: Add support for multiple terminals and properly document it 2022-04-01 10:00:36 +02:00
mintsuki
6caaada636 limine: Rename 2 limine_file members 2022-03-31 09:03:06 +02:00
mintsuki
abc3b309a4 gterm: Default to transparent bg if wallpaper is set 2022-03-30 03:19:05 +02:00
mintsuki
e8fcc85b03 limine: Rework modules/file/kernel_file 2022-03-26 09:27:09 +01:00
mintsuki
3c909c017b docs: limine: More documentation work 2022-03-26 01:31:38 +01:00
mintsuki
21f8640510 docs: limine: Document SMP request 2022-03-24 02:18:33 +01:00
mintsuki
c4f04dab95 docs: Continue work on Limine protocol spec 2022-03-22 10:26:41 +01:00
mintsuki
49a8dfe4b2 config: Misc improvements 2022-03-22 04:39:51 +01:00
mintsuki
99a4eaac23 config: Sanitise names of terminal keys 2022-03-22 04:09:29 +01:00
mintsuki
733865c9a6 limine: Add terminal request 2022-03-21 05:15:10 +01:00
mintsuki
01fd8257e3 limine: Header cleanup 2022-03-20 21:23:47 +01:00
mintsuki
80ba39503d limine: Use arrays of pointers over arrays of structs 2022-03-20 20:28:44 +01:00
mintsuki
fb19f6bc97 Revert "limine: Move module request to using SoA"
This reverts commit f39578f4e3.
2022-03-20 19:13:18 +01:00
mintsuki
40e0f3fd77 Revert "limine: Move memmap request to using SoA"
This reverts commit 82627d8693.
2022-03-20 19:13:18 +01:00
mintsuki
2ba3770766 Revert "limine: Move SMP request to using SoA"
This reverts commit 03700dea96.
2022-03-20 19:12:55 +01:00
mintsuki
b2211a7e13 Revert "limine: Move framebuffer request to using SoA"
This reverts commit 76b9312d72.
2022-03-20 19:11:22 +01:00
mintsuki
2d048ecfde limine: Add kernel address request 2022-03-20 19:01:24 +01:00
mintsuki
f487061f40 limine: Add boot time request 2022-03-20 08:19:32 +01:00
mintsuki
38233a2405 limine: Add EFI system table request 2022-03-20 08:05:12 +01:00
mintsuki
a65e6ca9d8 limine: flags -> revision 2022-03-20 00:57:10 +01:00
mintsuki
f39578f4e3 limine: Move module request to using SoA 2022-03-18 08:48:48 +01:00
mintsuki
82627d8693 limine: Move memmap request to using SoA 2022-03-18 08:32:19 +01:00
mintsuki
03700dea96 limine: Move SMP request to using SoA 2022-03-18 07:26:56 +01:00
mintsuki
76b9312d72 limine: Move framebuffer request to using SoA 2022-03-18 05:09:19 +01:00
mintsuki
021bf509bd limine: Separate bootloader info and HHDM requests 2022-03-18 03:08:47 +01:00
mintsuki
5b6c4ffc34 limine: Add EDID to framebuffer response 2022-03-18 02:45:37 +01:00
mintsuki
3f5b29c3c9 limine: Add SMP request 2022-03-18 01:17:56 +01:00
mintsuki
fb54571b34 limine: PXE and HHDM work 2022-03-17 23:46:48 +01:00
mintsuki
ee5e776c2c test: Minor changes 2022-03-17 22:47:58 +01:00
mintsuki
50076656f4 limine: Add SMBIOS request 2022-03-17 19:59:03 +01:00
mintsuki
4f90e0c723 limine: Add RSDP request 2022-03-17 19:21:35 +01:00
mintsuki
30aed730b6 limine: Add kernel to modules request 2022-03-16 20:33:59 +01:00
mintsuki
a51f8a39c0 limine: Add modules request 2022-03-16 06:49:41 +01:00
mintsuki
c180b59f96 limine: Add cmdline request 2022-03-15 02:46:39 +01:00
mintsuki
fd2b3d696d limine: Add framebuffer request 2022-03-14 12:05:59 +01:00
mintsuki
f9c9ec84d5 limine: Rework request-response system 2022-03-13 05:35:29 +01:00
mintsuki
e33a76bd99 limine: Add memmap feature 2022-03-12 21:41:36 +01:00