danos/src/kernel/arch/x86_64
Daniel Samson 1b47de5058
allocate AP kernel/IST stacks at bring-up, not statically
Hoist max_cpus into danos (root.zig), raise it to 128, and stop reserving a static [max_cpus][16 KiB] IST array. Only the BSP's IST stack is static (needed before the allocator); each AP's is heap-allocated when it comes online. Shrinks the kernel from ~1.1 MB to ~139 KiB in ReleaseSmall.
2026-07-08 16:04:18 +01:00
..
apic.zig wake application processors to long mode 2026-07-08 12:35:30 +01:00
cpu.zig allocate AP kernel/IST stacks at bring-up, not statically 2026-07-08 16:04:18 +01:00
gdt.zig allocate AP kernel/IST stacks at bring-up, not statically 2026-07-08 16:04:18 +01:00
idt.zig wake application processors to long mode 2026-07-08 12:35:30 +01:00
io.zig add device platform module with ACPI support 2026-07-08 09:23:41 +01:00
ioapic.zig refactor kernel to use device platform discovery 2026-07-08 10:06:46 +01:00
isr.s add a big kernel lock for SMP 2026-07-08 12:35:30 +01:00
linker.ld moving kernel code to kernel/ 2026-07-05 10:19:11 +01:00
paging.zig test the trampoline is inert (zeroed + NX) when dormant 2026-07-08 13:46:53 +01:00
serial.zig refactor kernel to use device platform discovery 2026-07-08 10:06:46 +01:00
smp.zig test the trampoline is inert (zeroed + NX) when dormant 2026-07-08 13:46:53 +01:00
trampoline.s schedule tasks across all cores 2026-07-08 12:35:30 +01:00
tss.zig allocate AP kernel/IST stacks at bring-up, not statically 2026-07-08 16:04:18 +01:00