125 Commits

Author SHA1 Message Date
mintsuki
42cc1d8e20 misc: Dynamically allocate EFI memmap copy 2022-10-07 10:16:21 +02:00
mintsuki
ea412cfae7 misc: Increase EFI_COPY_MAX_ENTRIES to 2048 2022-10-07 10:16:21 +02:00
mintsuki
ff145eb511 term: Misc improvements for SERIAL=yes on EFI 2022-10-06 06:38:35 +02:00
mintsuki
5bbda71da2 gterm: Prevent memory leak gterm_init() failure 2022-10-06 06:38:35 +02:00
mintsuki
a76691a930 misc: Add limine subdir to stage3 and config search paths. Closes #225 2022-10-06 06:34:42 +02:00
czapek1337
e445555bab readline: Fallback to SystemTable->ConIn 2022-10-06 06:34:42 +02:00
mintsuki
9722827002 term: Better ensure term is not accessed when NULL 2022-10-05 15:05:17 +02:00
mintsuki
dddcf34a8c term: Make term_notready() static 2022-10-04 22:22:31 +02:00
mintsuki
6f1e157cec term: Gate BIOS specific code behind ifdefs 2022-10-04 22:22:31 +02:00
mintsuki
7065967be3 term: Reimplement context control 2022-10-04 22:22:31 +02:00
mintsuki
f5cdb5b900 term: Misc fixes and improvements 2022-10-04 22:22:31 +02:00
mintsuki
223ebc1932 term: Misc fixes and improvements 2022-10-04 22:22:31 +02:00
mintsuki
1c06055e6d term: Misc fixes and improvements 2022-10-04 22:22:31 +02:00
mintsuki
3cb47a9dd1 term: Add builtin font 2022-10-04 22:22:31 +02:00
mintsuki
68f9bdcdca term: Misc minor bug fixes 2022-10-04 22:22:31 +02:00
mintsuki
c30dffd147 term: Tidy up VGA textmode wrapper code 2022-10-04 22:22:31 +02:00
mintsuki
d442805bc0 term: Tidy up gterm wrapper code 2022-10-04 22:22:31 +02:00
mintsuki
ad8151a6a6 term: Move to use external, portable terminal 2022-10-04 22:22:31 +02:00
mintsuki
b42559b27a term: Misc bug fixes in fallback backends 2022-09-28 02:10:08 +02:00
mintsuki
14ef93ab24 term: Do not reset mode on UEFI fallback init 2022-09-27 06:57:10 +02:00
mintsuki
c381963592 pmm: Undo most of what was done between 85603ec8 and 74a3a1c6 2022-09-24 04:35:52 +02:00
mintsuki
4662a4d190 panic: Fix build on non-BIOS targets 2022-09-24 04:35:52 +02:00
mintsuki
4d7f1d5d1c term: Move more of it to stage 3 2022-09-24 04:35:52 +02:00
mintsuki
96ceab3c72 misc: Fix bugs introduced in 3181293a 2022-09-20 10:10:00 +02:00
mintsuki
b09b816ee2 misc: Fix up some no_unwind globals 2022-09-18 22:34:53 +02:00
mintsuki
710757420b misc: Misc stage 2 related improvements 2022-09-18 22:34:53 +02:00
mintsuki
3181293a04 misc: Improve printing effectively on panics and errors 2022-09-18 22:34:53 +02:00
mintsuki
98c9b4ea2d efi: Ensure panics are (hopefully) always visible 2022-09-16 11:50:47 +02:00
mintsuki
14181a9eba efi/disk: Use blake2b to calculate unique sector hash 2022-09-16 11:50:47 +02:00
mintsuki
fe647a067f elf: Fix issue where KASLR was applied to non reloc executables 2022-09-12 12:09:16 +02:00
mintsuki
831af39ed4 Revert "Revert "elf: General refactor""
This reverts commit 4c8516c6a66712cc965d3be3abf8b59d1aff71e0.
2022-09-12 12:09:16 +02:00
mintsuki
4c8516c6a6 Revert "elf: General refactor"
This reverts commit 3452e492bbc255614732f88a8fe5e2e08137759d.
2022-09-11 17:47:49 +02:00
mintsuki
3452e492bb elf: General refactor 2022-09-11 10:05:45 +02:00
mintsuki
5566278736 textmode: Load notready() *before* setting term_{cols,rows} 2022-09-05 03:14:16 +02:00
mintsuki
86ebf0b453 term: Initial support for 256-color palette 2022-09-05 00:49:33 +02:00
mintsuki
67498a6967 term: Initial support for RGB 2022-09-04 06:39:13 +02:00
mintsuki
b2a390c4d5 misc: Update wallpaper 2022-09-04 03:57:32 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
27711e3c27 fs: Add case insensitive fopen() for config and system files 2022-09-02 01:12:13 +02:00
mintsuki
c528068ac7 misc: Fix improper panic() calls 2022-08-28 20:16:27 +02:00
mintsuki
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +02:00
mintsuki
65671d73c7 misc: Update several macros 2022-08-26 23:30:00 +02:00
mintsuki
16c5e98120 misc: Update ALIGN macros 2022-08-26 21:34:40 +02:00
mintsuki
a89b843673 Revert "bios: Get rid of self-modifying interrupt call code"
This reverts commit 5e0f85727adf88329812a10d204104558284a7d2.
2022-08-25 20:13:42 +02:00
mintsuki
fe637af458 ext: Properly follow relative symlinks 2022-08-21 00:50:12 +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
997c787c16 term/limine: Allow overriding terminal config in entry 2022-08-14 15:09:57 +02:00
mintsuki
11b56c39f0 config: Only make keys global if before first entry 2022-08-14 14:45:20 +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
e3c4fbea25 config: Remove stray include 2022-08-06 20:21:56 +02:00