Commit Graph

215 Commits

Author SHA1 Message Date
Bryce Lanham 2362f1a785 Implement Multiboot2 network tag
Added caching of the dhcp response in the pxe code, and then adding the
tag containing it.
2023-04-24 06:44:56 -05:00
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