Commit Graph

34 Commits

Author SHA1 Message Date
xvanc
9274ee656e
Initial riscv64 port (#274)
* initial riscv64 port

* enable Paging Mode feature for all architectures

* riscv: add missing protocol docs

* riscv: fix tests

* docs: clarify `LIMINE_PAGING_MODE_DEFAULT` macro

* build: fix whitespace in common/GNUmakefile

* riscv: default to Sv48 paging when supported

* vmm: make `VMM_MAX_LEVEL` 1-indexed

* limine: do not call `reported_addr()` before finaling paging mode

smp/riscv: do not overwrite the argument passed to APs

* limine/riscv: update default paging mode in limine.h

* test/riscv: pad OVMF.fd when downloading it
2023-06-04 01:36:06 +02:00
mintsuki
01eeeb6e1d term: Drop in_bootloader for new Flanterm 2023-03-30 01:23:55 +02:00
mintsuki
779571339e misc: Updates for Flanterm rebrand 2023-03-29 22:43:06 +02:00
mintsuki
a7721872dd term: Expose support for out-of-band output control 2023-01-20 20:14:38 +01:00
mintsuki
2ee939725e term: Compatibility with new terminal code 2022-12-30 07:58:46 +01:00
mintsuki
d39baeaa80 video: Initial support for multiple framebuffers 2022-11-18 23:59:31 +01:00
mintsuki
7f09259c57 term: Misc improvements for SERIAL=yes on EFI 2022-10-06 05:41:21 +02:00
mintsuki
d187c576d8 term: Make term_notready() static 2022-10-04 21:00:39 +02:00
mintsuki
ff8c5f318c term: Gate BIOS specific code behind ifdefs 2022-10-04 20:47:19 +02:00
mintsuki
f977548e84 term: Reimplement context control 2022-10-04 20:39:50 +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
8849d08eeb term: Tidy up gterm wrapper code 2022-10-04 01:37:19 +02:00
mintsuki
4d855fc17e term: Move to use external, portable terminal 2022-10-04 00:58:00 +02:00
mintsuki
96c184fdf6 term: Misc bug fixes in fallback backends 2022-09-28 01:16:39 +02:00
mintsuki
0d7b1e1148 term: Do not reset mode on UEFI fallback init 2022-09-27 06:36:04 +02:00
mintsuki
e062b4ed7d term: Move more of it to stage 3 2022-09-23 20:53:14 +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
mintsuki
50b524838a efi: Ensure panics are (hopefully) always visible 2022-09-15 13:31:42 +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
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
997c787c16 term/limine: Allow overriding terminal config in entry 2022-08-14 15:09:57 +02:00
mintsuki
6eafb4fc03 build: BIOS stage2only build improvements 2022-07-18 21:02:44 +02:00
mintsuki
5b181e10a3 term: Move notready and fallback backends to stage 2 2022-06-17 20:29:23 +02:00
mintsuki
fb175747df limine: Add support for multiple terminals and properly document it 2022-04-01 10:00:36 +02:00
mintsuki
b6d0a63a3c term: Fix deinitialisation issues 2022-03-10 18:21:49 +01:00
mintsuki
8812216481 io: Complete serial support. Closes #155 2022-03-01 17:53:46 +01:00
mintsuki
319326a7f5 misc: Misc output fixes for serial support 2022-02-07 02:10:57 +01:00
mintsuki
400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00