Commit Graph

37 Commits

Author SHA1 Message Date
Mintsuki
f1b89ec1bb sys/cpu: Replace cycle-based delay() with calibrated stall() 2026-02-19 20:37:36 +01:00
Mintsuki
b029c02441 riscv: Defer init_riscv() until after config is initalised 2025-11-29 15:42:54 +01:00
Mintsuki
5460569106 riscv: Do an early RISC-V init to allow checking ISA features early 2025-11-29 09:51:56 +01:00
Mintsuki
e06cc37f68 lib/config: Change default paths for config search and ordering
Also prefer searching within the EFI app's directory first, on EFI.
2025-11-03 21:29:01 +01:00
Mintsuki
b3f0233219 Revert "sys/idt: init_flush_irqs(), init_idt() -> idt_init()"
This reverts commit c0386d4d94.
2025-09-21 21:19:08 +02:00
Mintsuki
773bd3e93f Revert "mm/pmm: Add validation of allocated memory viability on x86_64/UEFI"
This reverts commit 5f6b2faf26.
2025-09-21 21:17:12 +02:00
Mintsuki
5f6b2faf26 mm/pmm: Add validation of allocated memory viability on x86_64/UEFI 2025-09-21 09:16:24 +02:00
Mintsuki
c0386d4d94 sys/idt: init_flush_irqs(), init_idt() -> idt_init() 2025-09-21 00:23:51 +02:00
sanana
c411051252 lib/bli: Implement LoaderTimeInitUSec and LoaderTimeExecUSec
These are variables used by `systemd-analyze` and is useful for boot performance
metrics.
2025-07-03 11:02:54 +03:00
Mintsuki
f362e6bb5a config: Slight change to the config file search semantics for EFI 2025-03-16 09:43:18 +01:00
mintsuki
db8f63bdfd config: Drop support for legacy config format 2025-02-10 13:31:18 +01:00
Kacper Słomiński
945c43de0d lib: Move DTB_PATH handling logic into common code 2024-12-24 17:10:47 +01:00
mintsuki
8382cd1794 build: Do not use linker script subtractions as they are broken on GCC 2024-09-09 07:43:24 +02:00
mintsuki
d914e6e4e4 config: Bring back support for legacy config with a warning 2024-08-02 14:39:14 +02:00
mintsuki
8c75c55a92 misc/uefi: Switch from EfiLoaderData to EfiLoaderCode at 2 more allocation sites 2024-06-16 18:27:55 +02:00
mintsuki
4fe338c31f misc: readline.h -> getchar.h and drop unused readline() code 2024-04-20 01:32:34 +02:00
mintsuki
4d063c4d66 misc: Move defer_error label inside #ifdef block to avoid compiler warning 2024-03-30 05:59:25 +01:00
mintsuki
f1859036f5 misc: Fix some issues with the relocation code from 2419a8c5be 2024-03-30 05:46:06 +01:00
mintsuki
2419a8c5be misc: Relocate to below 4GiB if possible when loaded above 4GiB 2024-03-25 20:13:53 +01:00
xvanc
f33732a2e5 riscv: implement feature dectection 2023-09-16 11:21:17 -05:00
mintsuki
0ebf0245df misc: Misc EFI linker script improvements and drop .sbat 2023-09-11 17:16:19 -05:00
mintsuki
48053fd206 misc: Fix bug on trunk where returns to menu from panic would crash 2023-02-16 03:54:10 +01:00
mintsuki
d39baeaa80 video: Initial support for multiple framebuffers 2022-11-18 23:59:31 +01:00
mintsuki
3d95c8960c misc: Add limine subdir to stage3 and config search paths. Closes #225 2022-10-06 06:29:11 +02:00
mint
23f2c7dbac Merge pull request #228 from czapek1337/some-fixes
Some minor fixes
2022-10-06 06:05:37 +02:00
czapek1337
02c26a8738 efi: Fallback to volume scan instead of panicking 2022-10-06 05:58:39 +02:00
mintsuki
7f09259c57 term: Misc improvements for SERIAL=yes on EFI 2022-10-06 05:41:21 +02:00
mintsuki
dc5ed66e67 efi: Limit amount of tries to get boot volume from handle 2022-09-18 10:39:39 +02:00
mintsuki
7f14f2f0d0 misc: Improve printing effectively on panics and errors 2022-09-17 10:40:14 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
27711e3c27 fs: Add case insensitive fopen() for config and system files 2022-09-02 01:12:13 +02:00
mintsuki
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +02:00
mintsuki
94eb0e2ae2 entry/uefi: Only perform 4GiB check if on x86_64 2022-08-25 21:53:48 +02:00
mintsuki
ed0c32f20a entry/uefi: Abort if loaded above 4GiB. Fix #206 2022-08-25 21:50:37 +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
997c787c16 term/limine: Allow overriding terminal config in entry 2022-08-14 15:09:57 +02:00
mintsuki
400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00