73 Commits

Author SHA1 Message Date
mintsuki
0a92f64554 protos/limine: Specify and implement paging mode request revision 1 2024-07-18 23:13:41 +02:00
mintsuki
776e46cf44 protos/limine: Add firmware type features 2024-07-18 23:13:41 +02:00
Kacper Słomiński
b27e1bcb58 PROTOCOL: Get rid of unreliable gic_iface_no field on AArch64 2024-07-12 07:13:08 +02:00
mintsuki
b76556afbe docs: PROTOCOL.md: Misc fixes and clarifications 2024-06-12 12:47:27 +02:00
mintsuki
f907468769 docs: PROTOCOL.md: Mention that the EDID blob pointer can be NULL 2024-06-12 12:47:27 +02:00
mintsuki
860d1b1da2 lib/elf: Allow loading relocatable higher half kernels with low load addresses 2024-05-22 06:45:50 +02:00
mintsuki
8d4b888580 docs: PROTOCOL.md: Minor wording improvment 2024-05-03 20:15:00 +02:00
mintsuki
cd9efbf8b6 limine: Define and implement base revision 2 2024-05-03 19:31:12 +02:00
mintsuki
8cb60d41fb docs: PROTOCOL.md: Fix typo 2024-05-03 06:53:50 +02:00
mintsuki
ba86da93e0 limine: Document and implement requests start marker 2024-05-03 06:43:49 +02:00
mintsuki
1d45bf541e protocols/limine: Add support for requests delimiter 2024-03-13 14:58:56 +01:00
mintsuki
e3c867b462 docs: Remove deprecated and removed features from PROTOCOL.md 2024-02-01 23:21:58 +01:00
mintsuki
ba3e185fbc docs: PROTOCOL.md: Update deprecation warnings for removed features 2024-01-25 01:44:33 +01:00
mintsuki
cc579a8da2 limine: Add compressed internal modules support. Closes #324 2024-01-07 01:52:21 +01:00
mintsuki
b04f29b00e docs: Get rid of last remaining mentions of stivale(2) 2023-12-10 03:07:42 +01:00
mintsuki
302d57e47d limine: Add EFI memory map feature 2023-12-07 00:31:45 +01:00
mintsuki
32a47ac206 docs: PROTOCOL.md: Document MTRR synchronisation on APs 2023-11-14 08:32:48 +01:00
mintsuki
a755dac876 limine: PROTOCOL.md: For unsupported greater base revisions, boot with any supported one 2023-11-03 06:24:58 +01:00
mintsuki
4ade725b78 limine: Deprecate .limine_reqs and remove it as of base revision 1 2023-11-03 06:24:58 +01:00
mintsuki
30397df228 limine: Specify and implement base revision 1 memory mappings 2023-11-03 06:24:58 +01:00
mintsuki
d3f124b18e limine: PROTOCOL.md: Document base revisions 2023-11-03 06:24:58 +01:00
iProgramInCpp
e63d804f6f limine: Fix two other small typos in PROTOCOL.md 2023-10-29 04:37:09 +01:00
iProgramInCpp
f4051f49db
limine: Fix a small typo error in PROTOCOL.md
This corrects an error which mistakenly says "the an Entry Point request (...)", in the section where the machine state at entry into the kernel is described.
2023-10-28 17:48:30 +03:00
mintsuki
c1860c8d80 limine/ioapic: Change spec to avoid masking IOAPIC RTEs unless Fixed or Lowest Priority 2023-10-24 01:21:24 +02:00
mintsuki
3fde8f0158 docs: PROTOCOL.md: Fix up layout of mappings table 2023-09-22 16:54:15 -05:00
mintsuki
50f4383f93 limine: Make explicit some implied padding in some structures 2023-09-22 16:40:07 -05:00
mintsuki
a0fb5a04d3 docs: PROTOCOL.md: Backport caching section from trunk 2023-09-16 16:31:16 -05:00
mintsuki
45958f7162 misc: Consistently call x86-64 such, instead of x86_64 2023-09-16 11:31:35 -05:00
mintsuki
e9b5511084 docs: PROTOCOL.md: Minor fixes 2023-09-16 11:31:19 -05:00
mintsuki
e261a96fa4 docs/protocol: Fix typo and mandate ra and gp registers to be 0 for rv64 2023-07-26 17:04:21 -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
67d2631826 limine: Add note about deprecation of terminal to PROTOCOL.md 2023-03-30 04:13:45 +02:00
mintsuki
b66184cfbd limine: Clarify ambiguity with response revision and internal modules 2023-03-30 03:51:59 +02:00
mintsuki
45ff0e2e93 limine: Document internal modules 2023-03-24 18:44:25 +01:00
mintsuki
ca69475609 protocol: Specify that kernel must be physically contiguous 2023-03-08 07:34:06 +01:00
mintsuki
a7721872dd term: Expose support for out-of-band output control 2023-01-20 20:14:38 +01:00
mintsuki
382d88913d docs/protocol: Fix syntax highlighting of struct limine_video_mode 2022-12-08 12:25:43 +01:00
TornaxO7
98bfcc6dbd
adding bytes description to stack_size 2022-12-06 14:22:24 +01:00
Raphael O
3fc36e9ac1
docs/protocol: Fix wording for reserved/reclaimable
Switch from bootloader-reserved to bootloader-reclaimable so that the memory regions reserved and bootloader-reclaimable are not confused.
2022-11-30 21:19:58 +01:00
mintsuki
144c481ed5 docs/protocol: Clarify file address alignment 2022-10-30 13:58:01 +01:00
mintsuki
f0d6aa8033 docs: Fix formatting issue in PROTOCOL.md 2022-10-14 06:07:53 +02:00
mintsuki
e0aec79cb6 limine: Add support for framebuffer modes listing 2022-10-14 05:19:13 +02:00
Andy-Python-Programmer
528be7230f
DTB: ensure the dtb_ptr is an HHDM address
* Ensure that the `dtb_ptr` is an HHDM address
* If DTB is not found, do not generate the response

Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2022-09-12 17:25:35 +10:00
Andy-Python-Programmer
4fb558fe81
protocol: dtb_ptr should be a virtual pointer
* The `dtb_ptr` is a virtual pointer not a physical pointer.

Signed-off-by: Andy-Python-Programmer <andypythonappdeveloper@gmail.com>
2022-09-10 18:11:13 +10:00
mintsuki
d3385da3e3 limine: Make NX feature not mandatory 2022-09-02 03:31:22 +02:00
Dean
83a216eaf7 Protocol: spelling 2022-08-19 16:54:42 +10: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
cd1107abe2 limine: Specify that memory between 0 and 0x1000 is never to be marked usable 2022-07-29 00:42:47 +02:00
xvanc
bae4f50265
limine: guarantee that SMP goto_address is initialized to NULL
Signed-off-by: xvanc <xvancm@gmail.com>
2022-07-21 22:30:57 -05:00
mintsuki
683b38abd2 limine: Document new requests for terminal and framebuffer 2022-05-22 06:08:15 +02:00