Commit Graph

50 Commits

Author SHA1 Message Date
mintsuki
1e9a42e7ce test: General makefile updates 2023-08-08 14:09:31 -05:00
mintsuki
b8fff872de test: Use Flanterm 2023-08-08 14:09:19 -05:00
mintsuki
1ad6d6013e limine: Drop terminal request support 2023-06-20 15:58:52 +02:00
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
e91196d452 test: Fix copying mistake (typo) 2023-06-03 01:51:17 +02:00
mintsuki
012605adf9 limine: Fix issue with internal modules and kernels in root dir 2023-03-30 02:43:52 +02:00
mintsuki
698ca1a665 limine: Honour LIMINE_INTERNAL_MODULE_REQUIRED flag 2023-03-24 10:18:18 +01:00
mintsuki
d4334699e3 limine: Implement internal modules concept 2023-03-24 01:02:31 +01:00
mintsuki
e0aec79cb6 limine: Add support for framebuffer modes listing 2022-10-14 05:19:13 +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
c43acd445f limine: Drop legacy framebuffer and terminal requests 2022-07-29 00:53:59 +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
e8fcc85b03 limine: Rework modules/file/kernel_file 2022-03-26 09:27:09 +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
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
mintsuki
ee5e776c2c test: Minor changes 2022-03-17 22:47:58 +01:00
mintsuki
50076656f4 limine: Add SMBIOS request 2022-03-17 19:59:03 +01:00
mintsuki
4f90e0c723 limine: Add RSDP request 2022-03-17 19:21:35 +01:00
mintsuki
30aed730b6 limine: Add kernel to modules request 2022-03-16 20:33:59 +01:00
mintsuki
a51f8a39c0 limine: Add modules request 2022-03-16 06:49:41 +01:00
mintsuki
c180b59f96 limine: Add cmdline request 2022-03-15 02:46:39 +01:00
mintsuki
fd2b3d696d limine: Add framebuffer request 2022-03-14 12:05:59 +01:00
mintsuki
f9c9ec84d5 limine: Rework request-response system 2022-03-13 05:35:29 +01:00
mintsuki
e33a76bd99 limine: Add memmap feature 2022-03-12 21:41:36 +01:00
mintsuki
b2e614e7c2 limine: Introduce basic Limine protocol concept 2022-03-12 19:40:49 +01:00