Commit Graph

40 Commits

Author SHA1 Message Date
mintsuki
ba86da93e0 limine: Document and implement requests start marker 2024-05-03 06:43:49 +02:00
mintsuki
35c7456bd0 limine: Update copyright years in limine.h 2024-03-20 01:56:03 +01:00
mintsuki
1d45bf541e protocols/limine: Add support for requests delimiter 2024-03-13 14:58:56 +01:00
mintsuki
2afb8e64eb misc: Avoid usage of reserved identifiers in certain cases. Closes #325 2024-01-20 21:35:42 +01:00
mintsuki
cc579a8da2 limine: Add compressed internal modules support. Closes #324 2024-01-07 01:52:21 +01:00
mintsuki
302d57e47d limine: Add EFI memory map feature 2023-12-07 00:31:45 +01:00
mintsuki
b6589201c1 limine: limine_base_revision_supported -> LIMINE_BASE_REVISION_SUPPORTED 2023-11-03 06:24:58 +01:00
mintsuki
8c2ef81414 limine: Add way for kernel to determine whether base revision is supported 2023-11-03 06:24:58 +01:00
mintsuki
553c7b2945 limine: Slight change of how base revision is determined 2023-11-03 06:24:58 +01:00
mintsuki
f4b78bec63 limine: Add support for base protocol revisions 2023-11-03 06:24:58 +01:00
mintsuki
50f4383f93 limine: Make explicit some implied padding in some structures 2023-09-22 16:40:07 -05: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
e0f8d94de7 limine: Fix spurious deprecation warnings coming from limine.h 2023-03-30 08:26:14 +02:00
mintsuki
b66184cfbd limine: Clarify ambiguity with response revision and internal modules 2023-03-30 03:51:59 +02:00
mintsuki
d0df21abb9 limine: Mark terminal as deprecated 2023-03-30 02:12:24 +02:00
mintsuki
d4334699e3 limine: Implement internal modules concept 2023-03-24 01:02:31 +01:00
mintsuki
5c1b96b393 protocol: Update copyright date in limine.h 2023-02-06 19:28:51 +01:00
mintsuki
a7721872dd term: Expose support for out-of-band output control 2023-01-20 20:14:38 +01:00
mintsuki
970292460d limine.h: Use C90 style comments for license header 2022-11-14 07:35:06 +01:00
mintsuki
22c041ff08 limine.h: Add license header 2022-11-05 15:44:08 +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
683b38abd2 limine: Document new requests for terminal and framebuffer 2022-05-22 06:08:15 +02:00
mintsuki
9585dcbd5c limine: Add new requests for terminal and framebuffer 2022-05-22 03:44:04 +02:00
mintsuki
5c7578c54a limine: Add media type to limine_file structure 2022-04-02 10:28:07 +02:00
mintsuki
790a1303f8 Revert "limine: Initial support for non-ELF executables"
This reverts commit 4240256074.
2022-04-02 10:10:38 +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
4240256074 limine: Initial support for non-ELF executables 2022-03-30 14:04:04 +02:00
mintsuki
5045a266ee limine: Add extern "C" C++ guards to header 2022-03-29 05:19:15 +02:00
mintsuki
a688a1dd4f limine: Add stack size feature 2022-03-28 08:00:40 +02:00
mintsuki
647ad0ac14 limine: Add missing padding field from file structure 2022-03-28 07:35:49 +02:00
mintsuki
2cc4ff856f limine: TERM->TERMINAL 2022-03-28 04:57:02 +02:00
mintsuki
9391fa2eda limine: Add missing terminal constants 2022-03-28 00:01:32 +02:00
mintsuki
e25dd260fd limine: Add missing forward declaration of struct limine_smp_info 2022-03-26 14:28:20 +01:00
mintsuki
88a2cc6cd8 limine: Fix definition of limine_goto_address type 2022-03-26 14:24:08 +01: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