Commit Graph

214 Commits

Author SHA1 Message Date
mintsuki ebd1953e51 build: Use uppercase PIE/PIC compilation flags 2023-04-11 15:57:02 +02:00
mintsuki 012605adf9 limine: Fix issue with internal modules and kernels in root dir 2023-03-30 02:43:52 +02:00
mintsuki 698ca1a665 limine: Honour LIMINE_INTERNAL_MODULE_REQUIRED flag 2023-03-24 10:18:18 +01:00
mintsuki d4334699e3 limine: Implement internal modules concept 2023-03-24 01:02:31 +01:00
mintsuki fadb9a7c13 build: Misc updates for new freestanding-toolchain 2023-03-16 03:38:53 +01:00
mintsuki f71f506b0a build: configure: Change some variable names to be more friendly 2023-03-16 02:28:50 +01:00
mintsuki 9009404a11 build: Updates for newer freestanding-toolchain 2023-03-14 17:20:46 +01:00
mintsuki 5bc6fbca3b misc: Change example wallpaper 2023-03-06 22:22:58 +01:00
mintsuki e0aec79cb6 limine: Add support for framebuffer modes listing 2022-10-14 05:19:13 +02:00
mintsuki a2ba71eb1d multiboot: Allow for headless boots 2022-09-27 05:46:39 +02:00
mintsuki ebbf8d7bed misc: Better integration of aarch64 port and test mechanism 2022-09-05 02:17:53 +02:00
mintsuki b2a390c4d5 misc: Update wallpaper 2022-09-04 03:57:32 +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 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