Commit Graph

24 Commits

Author SHA1 Message Date
mintsuki 74a6b8e125 protos/linux: Do not zero EFI memmap size on IA-32 EFI 2023-06-05 23:05:20 +02:00
mintsuki d39baeaa80 video: Initial support for multiple framebuffers 2022-11-18 23:59:31 +01:00
mintsuki 7e1d4a9870 linux: Revert 793d0293 2022-10-14 14:28:17 +02:00
mintsuki ac34ec411f term: Better ensure term is not accessed when NULL 2022-10-05 15:01:01 +02:00
mintsuki b34954bb43 term: Misc fixes and improvements 2022-10-04 07:24:42 +02:00
mintsuki 0f1d86e7e4 term: Tidy up VGA textmode wrapper code 2022-10-04 02:34:11 +02:00
mintsuki 4d855fc17e term: Move to use external, portable terminal 2022-10-04 00:58:00 +02:00
mintsuki e466501f92 pmm: Misc bug fixes in pmm 2022-09-28 01:16:39 +02:00
mintsuki e67a75fe09 Revert "linux/efi: Perform efi_memmap_size=0 workaround for 32 on 64 as well"
This reverts commit b9f41799b4.
2022-09-23 01:00:44 +02:00
mintsuki b9f41799b4 linux/efi: Perform efi_memmap_size=0 workaround for 32 on 64 as well 2022-09-22 18:10:08 +02:00
mintsuki a6189abdc1 misc: Fix bugs introduced in 3181293a 2022-09-20 09:54:35 +02:00
mintsuki 7f14f2f0d0 misc: Improve printing effectively on panics and errors 2022-09-17 10:40:14 +02:00
czapek1337 71eb143611
print: Specifier for printing URIs 2022-09-12 14:10:36 +02:00
mintsuki c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki 07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +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 7ade45b230 misc: struct e820_entry_t -> struct memmap_entry 2022-08-13 19:54:49 +02:00
mintsuki 793d029370 linux: Only make framebuffer EFI and 64-bit if above 4GiB 2022-08-06 19:47:46 +02:00
mintsuki 367bf3e5e9 linux: Find compromise for 32-bit EFI boot 2022-08-04 14:16:42 +02:00
mintsuki 0ef0c3adc5 linux, pmm: Get a boot with 32-bit UEFI. Addresses #185 2022-08-04 12:56:46 +02:00
mintsuki 2a448febb3 protos: Move 'loading kernel' prints where they belong 2022-07-13 08:34:30 +02:00
mintsuki e5e125887b protos: Remove pointless returns added for autodetection 2022-07-13 07:40:53 +02:00
mintsuki c9f4f6bee7 fb: Change reactions of protocols to high fb sizes 2022-05-22 08:19:41 +02:00
mintsuki 400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00