Commit Graph

50 Commits

Author SHA1 Message Date
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
mintsuki c4f04dab95 docs: Continue work on Limine protocol spec 2022-03-22 10:26:41 +01:00
mintsuki 2fa2fb2220 docs: Initial Limine protocol draft 2022-03-22 05:43:38 +01:00