Commit Graph

215 Commits

Author SHA1 Message Date
Bryce Lanham
988ca16212 Implement Multiboot2 network tag
Added caching of the dhcp response in the pxe code, and then adding the
tag containing it.
2023-04-28 05:21:06 +02:00
mintsuki
86632c703f build: Use uppercase PIE/PIC compilation flags 2023-04-14 13:41:41 +02:00
mintsuki
8e97650ae9 limine: Fix issue with internal modules and kernels in root dir 2023-03-30 05:40:21 +02:00
mintsuki
795490e325 limine: Honour LIMINE_INTERNAL_MODULE_REQUIRED flag 2023-03-24 18:56:31 +01:00
mintsuki
328b817474 limine: Implement internal modules concept 2023-03-24 18:56:31 +01:00
mintsuki
282d2df6db build: Misc updates for new freestanding-toolchain 2023-03-17 21:19:07 +01:00
mintsuki
b040010cec build: configure: Change some variable names to be more friendly 2023-03-17 21:19:07 +01:00
mintsuki
91acfcc0d1 build: Updates for newer freestanding-toolchain 2023-03-14 21:06:49 +01:00
mintsuki
81f4d5dfb4 misc: Change example wallpaper 2023-03-07 14:01:59 +01:00
mintsuki
09941f905b limine: Add support for framebuffer modes listing 2022-10-14 05:42:15 +02:00
mintsuki
a0810f9e13 multiboot: Allow for headless boots 2022-09-27 06:57:10 +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