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
Daniel Samson
26ac97df31
test fault-on-AP and affinity; report the faulting core
...
fault-ap-df pins a #DF to an AP (its own IST must catch it); affinity checks a pinned task never migrates. onException now names the core, so an AP fault is attributed and shown contained. Both teeth-checked.
2026-07-08 14:45:28 +01:00
Daniel Samson
37f72a4df8
add thread affinity: pin a task to a core
...
spawnOn(entry, priority, cpu) routes to a per-core pinned queue, merged with the global queue at O(1) selection. Falls back to unpinned for an offline/invalid core.
2026-07-08 14:45:28 +01:00
Daniel Samson
debe815a5c
keep the AP trampoline inert between wakes, and retry failed cores
...
Arm the low frame (copy blob, make executable) only while a core climbs, then zero it and restore RW+NX; the frame stays reserved so cores can be re-woken. startSecondary is one re-runnable attempt; boot retries a non-responding core 3x. Validated the retry path by forcing a first-attempt failure.
2026-07-08 13:32:34 +01:00
Daniel Samson
43afe6bf2e
schedule tasks across all cores
...
Per-core GDT/TSS and AP scheduler entry; fix AP SSE + single_threaded.
2026-07-08 12:35:30 +01:00
Daniel Samson
ed7f542006
wake application processors to long mode
...
INIT-SIPI-SIPI plus a self-relocating real-mode trampoline.
2026-07-08 12:35:30 +01:00
Daniel Samson
cf7c6df41c
enumerate usable CPU cores from the MADT
...
Keep each Local APIC's id and expose platform.cpus().
2026-07-08 12:35:30 +01:00
Daniel Samson
26d2f5259c
document the multi-sink logging model
2026-07-08 10:41:47 +01:00
Daniel Samson
7d3417fe86
refactor kernel to use device platform discovery
2026-07-08 10:06:46 +01:00
Daniel Samson
2ee898a91e
add device platform module with ACPI support
2026-07-08 09:23:41 +01:00
Daniel Samson
6f6ccc8bc9
moving kernel code to kernel/
2026-07-05 10:19:11 +01:00
Daniel Samson
7c3cffb337
moving efi code to boot
2026-07-05 10:01:01 +01:00
Daniel Samson
d055de7141
documenting things to research
2026-07-03 21:40:59 +01:00
Daniel Samson
a6de418e42
documenting smp and scheduling to research
2026-07-03 21:24:44 +01:00
Daniel Samson
f9f0511ac2
documenting research for arm and device discovery
2026-07-03 20:22:48 +01:00
Daniel Samson
99d6bf5ce3
renaming run-efi to run-x86-64
2026-07-03 19:45:44 +01:00
Daniel Samson
21b9691486
reclaiming uefi memory
2026-07-03 19:31:32 +01:00
Daniel Samson
31bf86af56
IPC
2026-07-03 15:09:16 +01:00
Daniel Samson
df774691c8
Fixed-priority preemptive scheduler
2026-07-03 14:30:33 +01:00
Daniel Samson
e80043b611
Calibrated timer / clock
2026-07-03 14:17:00 +01:00
Daniel Samson
269729f2f2
Built heap allocation
2026-07-03 13:41:55 +01:00
Daniel Samson
20b4661ff3
Hardened paging into a real VMM
2026-07-03 13:29:34 +01:00
Daniel Samson
d910e6261a
Documenting sysv
2026-07-03 13:06:43 +01:00
Daniel Samson
56219b4050
Documenting sysv
2026-07-03 13:06:27 +01:00
Daniel Samson
5ea521d054
Built device interrupts
2026-07-03 12:57:40 +01:00
Daniel Samson
c8e89e8115
Cross-architecture test suite
2026-07-03 12:39:26 +01:00
Daniel Samson
9cf135302d
Built paging / the kernel's own page tables (with a TSS+IST)
2026-07-03 12:23:55 +01:00
Daniel Samson
0cc71ec8aa
Built GDT + IDT + exception handlers
2026-07-03 12:05:41 +01:00
Daniel Samson
6312e84262
added physical memory manager
2026-07-03 11:43:14 +01:00
Daniel Samson
cb2f49cb48
added physical memory manager
2026-07-03 11:24:26 +01:00
Daniel Samson
628c4f6d57
Move to multi arch support and added memory map
2026-07-03 11:11:19 +01:00
Daniel Samson
c2435760c4
Add README file in docs
2026-07-03 10:31:08 +01:00
Daniel Samson
6a08081bfe
selecting the displays native resolution
2026-07-03 10:07:51 +01:00
Daniel Samson
21cc0c87e4
setup framebuffer with console
2026-07-03 09:32:15 +01:00