Mintsuki
b43094de96
sys/smp: Reject address_cells == 0 in AArch64 DTB SMP enumeration
2026-02-10 11:10:02 +01:00
Mintsuki
890c1aa18f
sys/smp: Free buffer and return NULL on zero APs in AArch64 ACPI path
2026-02-10 11:10:02 +01:00
Mintsuki
00a542f0c6
misc: Fix wrong format specifiers for 64-bit arguments in print calls
2026-02-10 11:10:02 +01:00
Mintsuki
ebde1ee086
sys/smp: Send two SIPIs per Intel SDM recommendation for AP startup
2026-02-10 11:10:02 +01:00
Mintsuki
567a03ecbc
mm/vmm: Use firmware-reported MMU type instead of satp probe on RISC-V
2026-02-10 11:10:02 +01:00
Mintsuki
5aeaa2a2be
sys/smp: Revert AArch64 trampoline allocation to smp_trampoline_size
2026-02-10 11:10:02 +01:00
Mintsuki
da98c40f18
sys/smp: Fix mismatched adrp/add label in AArch64 SMP trampoline EL2 path
2026-02-10 11:10:02 +01:00
Mintsuki
9ff880b13e
sys/cpu: Fix 32-bit multiplication overflow in tsc_freq_arch
2026-02-10 10:58:04 +01:00
Mintsuki
42cd5249b8
sys/smp: Skip AP with unrecognised PSCI method instead of panicking
2026-02-10 10:58:04 +01:00
Mintsuki
6a2d7ddfcf
sys/lapic: Validate MADT I/O APIC entry length
2026-02-10 10:58:04 +01:00
Mintsuki
667199b97d
sys/cpu: Fix AArch64 cache line size calculation to use 4 << field
2026-02-10 10:58:03 +01:00
Mintsuki
6088015eb3
sys/cpu_riscv: Skip re-init when config unchanged to prevent FDT use-after-free
2026-02-10 10:58:03 +01:00
Mintsuki
f279a4411a
sys/smp: Pass top of temp stack allocation instead of base
2026-02-10 10:58:03 +01:00
Mintsuki
970709b2c7
a20: Add timeout for keyboard controller polling loops
2026-01-14 18:40:49 +01:00
Mintsuki
66dacaae9c
madt: Add entry length validation to prevent infinite loop
2026-01-14 18:40:49 +01:00
Mintsuki
81624fce25
smp: Add MADT GIC entry size validation on AArch64
2026-01-14 18:40:49 +01:00
Mintsuki
ba2b3194e9
cpu_riscv: Add complete bounds validation for RHCT ISA string and MMU nodes
2026-01-14 18:40:49 +01:00
Mintsuki
aef2a4b9fd
smp: Validate MADT entry size before accessing type-specific fields
2026-01-14 18:40:49 +01:00
Mintsuki
69a4e0180d
cpu_riscv: Add bounds checks for RHCT table parsing
2026-01-14 18:40:49 +01:00
Mintsuki
3aacef11ce
smp: Add bounds checks for FADT length and device tree properties
2026-01-14 18:40:49 +01:00
Mintsuki
76941506a8
smp: Fix MADT bounds check, PSCI NULL check, and AArch64 trampoline size
2026-01-14 18:40:49 +01:00
Mintsuki
67ccf78bd6
sys/smp: Prevent infinite loop on zero-length MADT entry
2026-01-05 05:44:08 +01:00
Mintsuki
1cbc9f7a8d
sys/cpu_riscv: Add missing continue after invalid ISA string check
2026-01-05 05:44:08 +01:00
Mintsuki
06d0a77964
sys/exceptions: Add bounds check for exception number
2026-01-04 18:31:09 +01:00
Mintsuki
1e43c13bb2
riscv: Simplify logic of code added in 051bb27ed0
2025-11-30 01:13:02 +01:00
Mintsuki
051bb27ed0
riscv: Prioritise CPU init with ACPI unless DTB manually overridden
2025-11-30 00:56:07 +01:00
Kacper Słomiński
02f1a8f539
sys/cpu: Flush entire I-Cache if it's not PIPT on aarch64
...
AArch64 permits the I-Cache be either PIPT or VIPT. In the latter
case, flush by VA might leave aliases at other VAs in the cache. I
don't expect there to be any since we're using an identity mapping at
this point, but this doesn't hurt.
2025-11-29 17:21:49 +01:00
Mintsuki
7d90dcb97a
riscv: Fix use-after-free bug related to DTB initialisation
2025-11-29 15:37:22 +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
8620b970e9
misc: Prevent some memory leaks after get_device_tree_blob(..., 0) made to allocate
2025-10-13 12:22:55 +02: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
6ea8323cd9
Revert "sys/idt: init_idt() -> idt_init_bios()"
...
This reverts commit d316b17e24 .
2025-09-21 21:18:12 +02:00
Mintsuki
03298ffe14
Revert "sys/idt: Relatively minor code cleanup and removal of repetitions"
...
This reverts commit 30c5a373ae .
2025-09-21 21:17:33 +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
5ee65db085
Revert "misc: Gate sys/idt.h as a whole behind x86 check"
...
This reverts commit 312b8e20a3 .
2025-09-21 21:16:49 +02:00
Mintsuki
312b8e20a3
misc: Gate sys/idt.h as a whole behind x86 check
2025-09-21 09:24:40 +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
30c5a373ae
sys/idt: Relatively minor code cleanup and removal of repetitions
2025-09-21 04:43:14 +02:00
Mintsuki
d316b17e24
sys/idt: init_idt() -> idt_init_bios()
2025-09-21 03:32:07 +02:00
Mintsuki
c0386d4d94
sys/idt: init_flush_irqs(), init_idt() -> idt_init()
2025-09-21 00:23:51 +02:00
Mintsuki
b491fc5cc4
sys/idt: Fix dummy_idt use-after-free bug
2025-09-21 00:17:42 +02:00
Mintsuki
4ce8126ded
sys/smp: x86: Remove useless instruction size specifier that broke old nasm
...
Fixes #524
2025-08-05 14:48:58 +02:00
Mintsuki
996a0c1801
misc: Move to using separate libfdt repository
2025-07-12 12:08:05 +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
sanana
957661c7ea
sys/cpu: Implement TSC frequency calibration
...
`tsc_freq_arch` is the architecture-specific function to get the frequency of
rdtsc. If that fails (e.g. on an x86_64 machine without CPUID leaf 0x15) then
the TSC is calibrated with EFI Boot Services' `Stall`.
2025-06-29 15:11:14 +03:00
Mintsuki
294c55f87c
smp: For x86, ensure that the value of IA32_APIC_BASE is the same for APs as for BSP
2025-06-20 07:12:38 +02:00
mintsuki
906b714c99
sys/smp: Use monitor/mwait when available instead of plain pause for spin-loops
2025-02-08 08:53:15 +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
0ba9919ed3
protos/limine: Rename SMP feature to MP feature
2024-11-30 02:19:31 +01:00
mintsuki
21056a3211
sys/smp: Ensure machines with pre-enabled x2APIC are properly supported
2024-11-25 12:58:48 +01:00