e1f6ac8860
* 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. |
||
---|---|---|
.. | ||
drivers | ||
fs | ||
lib | ||
mm | ||
protos | ||
pxe | ||
sys | ||
console.c | ||
console.h | ||
efi_thunk.asm_uefi_aarch64 | ||
efi_thunk.asm_uefi_ia32 | ||
efi_thunk.asm_uefi_x86_64 | ||
entry_asm.s2.asm_bios_ia32 | ||
entry.s2.c | ||
entry.s3.c | ||
font.bin | ||
font.README | ||
gensyms.sh | ||
GNUmakefile | ||
linker_bios.ld.in | ||
linker_uefi_aarch64.ld.in | ||
linker_uefi_ia32.ld.in | ||
linker_uefi_x86_64.ld.in | ||
menu_thunk.asm_aarch64 | ||
menu_thunk.asm_ia32 | ||
menu_thunk.asm_x86_64 | ||
menu.c | ||
menu.h | ||
sbat.c |