Commit Graph

211 Commits

Author SHA1 Message Date
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
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