Commit Graph

52 Commits

Author SHA1 Message Date
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
mintsuki 6caaada636 limine: Rename 2 limine_file members 2022-03-31 09:03:06 +02:00
mintsuki 84394f0d68 limine: Fix typo 2022-03-30 14:55:51 +02:00
mintsuki 4240256074 limine: Initial support for non-ELF executables 2022-03-30 14:04:04 +02:00
mintsuki a688a1dd4f limine: Add stack size feature 2022-03-28 08:00:40 +02:00
mintsuki b4fd10afd4 limine: Document added padding field of file structure 2022-03-28 07:37:40 +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 652b5447fe limine: Make module paths better defined 2022-03-26 08:36:53 +01:00
mintsuki 3c909c017b docs: limine: More documentation work 2022-03-26 01:31:38 +01:00
mintsuki 21f8640510 docs: limine: Document SMP request 2022-03-24 02:18:33 +01:00