Commit Graph

63 Commits

Author SHA1 Message Date
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
mintsuki
52667354a3 docs: Fix wrong sentence in Limine spec 2022-04-29 15:20:29 +02:00
Nathaniel Barragan
43f817f7af
Specify the starting index of revision numbers
When I was reading this originally, I was a bit confused about what to set the revision numbers, as no "lowest version" was specified. I was only able to find this out by looking at the barebones example.

I think it might also be worth specifying revisions for each structure provided in the protocol specification, so that there is no confusion there.
2022-04-28 21:30:19 +00:00
mintsuki
e22d5eff39 limine: Increment default stack size to 64KiB 2022-04-17 07:56:41 +02:00
mintsuki
93ce137a21 limine: Document Requests Section 2022-04-15 01:28:48 +02:00
mintsuki
5c7578c54a limine: Add media type to limine_file structure 2022-04-02 10:28:07 +02:00
mintsuki
012e7b0b67 misc: Fix minor things accidentally reverted in 790a130 2022-04-02 10:14:52 +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
15f111f5c3 limine: Make WP flag enabled as per spec 2022-03-31 13:33:18 +02:00