This website requires JavaScript.
34ebeb968d
Merge feat/device-manager: the supervising device manager (M18.1)
Daniel Samson
2026-07-13 00:19:32 +01:00
3cc1d38dd0
The device manager supervises: hello, backoff, and the crash-loop cap (M18.1)
feat/device-manager
Daniel Samson
2026-07-13 00:19:30 +01:00
36e804b848
Mark the feat/process-lifecycle merge done in the M17-M18 plan
Daniel Samson
2026-07-12 23:53:50 +01:00
be83a42d42
Merge feat/process-lifecycle: the process lifecycle (M17.1-M17.4)
Daniel Samson
2026-07-12 23:53:50 +01:00
650a1b1595
Signals over IPC, one-shot timers, and the service harness (M17.4)
feat/process-lifecycle
Daniel Samson
2026-07-12 23:53:38 +01:00
d8c55c6f2f
Publish exit events to subscribers; the VFS releases dead clients' handles (M17.3)
Daniel Samson
2026-07-12 23:41:44 +01:00
2ebfb0c3b0
Record and expose how every process ends (M17.2)
Daniel Samson
2026-07-12 23:34:09 +01:00
888eaa74e1
Release a dead process's device claims (M17.1)
Daniel Samson
2026-07-12 23:23:49 +01:00
ed76cbbc79
Mark Phase 0 done: baseline QEMU suite green (48/48)
Daniel Samson
2026-07-12 23:17:20 +01:00
140229b88d
Rename usb-xhci-libary.zig to usb-xhci-library.zig (naming typo)
Daniel Samson
2026-07-12 23:13:33 +01:00
cb2379fd06
Update README.md
Daniel Samson
2026-07-12 23:12:39 +01:00
1665b239b0
Add the status checklist and workflow to the M17-M18 plan
Daniel Samson
2026-07-12 23:04:43 +01:00
70ed0337f8
Merge feat/usb: USB wire ABI, xHCI detection and spawn, M17-M18 design
Daniel Samson
2026-07-12 22:56:35 +01:00
116b8f6c41
Design the process lifecycle and the device manager (M17-M18)
feat/usb
Daniel Samson
2026-07-12 22:56:34 +01:00
77901bbba6
WIP: USB
Daniel Samson
2026-07-12 22:24:47 +01:00
78582d24d2
code lint
Daniel Samson
2026-07-12 19:36:10 +01:00
1cdffe21b1
fixing comments
Daniel Samson
2026-07-12 16:19:09 +01:00
4df90bc212
add tools/rewrap-comments.py
Daniel Samson
2026-07-12 16:18:56 +01:00
713e77354b
gitattributes
Daniel Samson
2026-07-12 16:09:18 +01:00
abb7b1b634
editorconfig
Daniel Samson
2026-07-12 16:09:11 +01:00
f5f0e15769
zig fmt
Daniel Samson
2026-07-12 16:04:58 +01:00
8652b4a724
add qemu-xhci with usb-mouse and usb-kbd to build.zig
Daniel Samson
2026-07-12 01:31:38 +01:00
e8233127c7
Install ps2-bus under its own name instead of clobbering bus
Daniel Samson
2026-07-11 23:41:08 +01:00
88e92254e9
Name ACPI hardware IDs instead of magic _HID strings
Daniel Samson
2026-07-11 23:23:16 +01:00
5725d35e5b
Name the attach reply statuses instead of magic numbers
Daniel Samson
2026-07-11 23:11:45 +01:00
8c95525793
Wire real PS/2 mouse packets through to input events
Daniel Samson
2026-07-11 23:09:04 +01:00
5bba5d3363
Wire real PS/2 scancodes through to input events and characters
Daniel Samson
2026-07-11 22:48:59 +01:00
80b72db676
Removing DAN-INIT
Daniel Samson
2026-07-11 21:43:49 +01:00
aa0c97353a
fixing arguments
Daniel Samson
2026-07-11 21:39:27 +01:00
dd93204b44
Merge pull request 'claude/input-module-keyboard-events-379361' (#6 ) from claude/input-module-keyboard-events-379361 into main
daniel
2026-07-11 20:28:46 +00:00
c7b17aaa0e
Merge branch 'main' into claude/input-module-keyboard-events-379361
daniel
2026-07-11 20:28:21 +00:00
d7a154a596
Add xkeyboard-config: X11 keyboard layouts compiled to Zig
Daniel Samson
2026-07-11 15:57:09 +01:00
1bf91115dd
Generalize input module to mouse and joystick/gamepad events
Daniel Samson
2026-07-11 15:21:09 +01:00
65244e3103
Add input module: broadcast keyboard events over IPC
Daniel Samson
2026-07-11 15:03:24 +01:00
75ccfff171
Pass arguments to main via runtime.process.Init, dispatched on signature
Daniel Samson
2026-07-11 14:22:48 +01:00
2a583d55a8
Finishing PS/2 bus driver
Daniel Samson
2026-07-11 14:12:33 +01:00
d218d93f79
Add process management: enumerate, supervisor-gated kill, exit notifications
Daniel Samson
2026-07-11 09:32:25 +01:00
a5fe63c1dd
Pass argv to processes on a SysV entry stack; grow the user stack to 32 KiB
Daniel Samson
2026-07-11 08:33:12 +01:00
6b3ae0c997
Kill a faulting user process instead of halting the machine
Daniel Samson
2026-07-11 04:57:02 +01:00
59104dd988
refactor
Daniel Samson
2026-07-11 04:32:17 +01:00
e499f500c3
adding clock system call
Daniel Samson
2026-07-11 03:43:33 +01:00
2ab0d129a2
Decode ACPI _HID names in device discovery
Daniel Samson
2026-07-10 21:44:44 +01:00
d702d2e9ae
Decode PCI class codes in device discovery
Daniel Samson
2026-07-10 21:35:20 +01:00
3ec2d1828a
docs: abi is the kernel↔runtime contract, not spoken by applications
Daniel Samson
2026-07-10 20:38:41 +01:00
21657943a8
Port I/O grants (io_read / io_write) + refresh stale driver docs
Daniel Samson
2026-07-10 20:36:14 +01:00
e612d948d2
M16: IOMMU detection (DMAR parsing)
Daniel Samson
2026-07-10 20:07:01 +01:00
4ef21fa083
M15: interrupts for PCI devices (ECAM config space + MSI)
Daniel Samson
2026-07-10 19:59:09 +01:00
125a3b4993
M14b: DMA memory (dma_alloc / dma_free)
Daniel Samson
2026-07-10 19:43:59 +01:00
e7c7e7b94c
M14a: memory-ordering / MMIO layer (library/mmio)
Daniel Samson
2026-07-10 19:32:57 +01:00
a581712b09
M13: IPC capability passing
Daniel Samson
2026-07-10 19:23:19 +01:00
8eb4210251
docs: document the supervision hierarchy and driver discovery
Daniel Samson
2026-07-10 18:48:26 +01:00
56110b0019
Device manager (increment 3): the kernel stops spawning the bundle
Daniel Samson
2026-07-10 18:36:07 +01:00
afbf10f7fc
Device manager (increment 2): system_spawn — actually start the driver
Daniel Samson
2026-07-10 18:24:46 +01:00
b61b7775b9
Update stale /sbin/ references to real FHS paths
Daniel Samson
2026-07-10 18:13:24 +01:00
be81394be3
Split the system contract into boot-handoff / abi / device-abi
Daniel Samson
2026-07-10 18:08:51 +01:00
47610e8ee2
Device manager (increment 1): discover + match
Daniel Samson
2026-07-10 14:20:14 +01:00
193fd71a50
Keep the QEMU serial log in qemu-test, not the FHS boot volume
Daniel Samson
2026-07-10 14:12:05 +01:00
1c2b3ae64d
gitignore: ignore .claude/ and .github/
Daniel Samson
2026-07-10 14:09:38 +01:00
d19a0ae38d
Rename the shared contract module danos -> system; QEMU logs to /var/log/system
Daniel Samson
2026-07-10 14:09:38 +01:00
3d1de37d0e
Make zig-out a FHS image, and the boot volume
Daniel Samson
2026-07-10 13:57:02 +01:00
ceacc6b514
Post-reorg cleanup: POSIX layer, and naming fixes
Daniel Samson
2026-07-10 13:33:06 +01:00
8754d4e46a
Re-organize the source tree as a monorepo mirroring the FHS
Daniel Samson
2026-07-10 12:55:56 +01:00
15b70856c9
M11–M12: IRQ-as-IPC and bus drivers; expand names tree-wide
Daniel Samson
2026-07-10 11:39:56 +01:00
83881641ca
M10: IO passthrough (MMIO grants) + first real driver (hpetd)
Daniel Samson
2026-07-09 08:03:21 +01:00
b0f894f50c
M9: user-space VFS server + client file API (open/read/write/stat + stdio)
Daniel Samson
2026-07-09 07:48:24 +01:00
750a73f050
M8: initrd handoff + multi-binary shipping
Daniel Samson
2026-07-09 07:36:25 +01:00
eabb81684a
M7: synchronous IPC — endpoints, handle table, IPC_Call/ReplyWait
Daniel Samson
2026-07-09 07:20:57 +01:00
0a8c81b17a
M6: user runtime library rt + C-convention heap
Daniel Samson
2026-07-09 07:08:32 +01:00
9316f9f1c3
M5: rename usermode->process, add yield + mmap/munmap syscalls
Daniel Samson
2026-07-09 06:55:09 +01:00
7384a730be
Rename the arch interface to arch-neutral terms
Daniel Samson
2026-07-09 05:52:05 +01:00
b9d9e1e523
M4: /sbin/init as PID 1 — a heartbeat process
Daniel Samson and Claude Fable 5
2026-07-09 00:19:46 +01:00
37fb3cb0cf
M3: real user processes — address spaces, syscall/sysret, swapgs
Daniel Samson and Claude Fable 5
2026-07-09 00:04:20 +01:00
5d57e7b01c
M3 step 3: syscall/sysret fast path
Daniel Samson and Claude Fable 5
2026-07-08 23:17:31 +01:00
8a7235c725
M3 step 2: swapgs discipline + arch per-CPU block
Daniel Samson and Claude Fable 5
2026-07-08 23:09:19 +01:00
f4590fcc19
M3 step 1: per-switch rsp0 + CR3 plumbing
Daniel Samson and Claude Fable 5
2026-07-08 22:59:57 +01:00
bb7597ea0b
M2 step 5: drop the low half — a true higher-half kernel
Daniel Samson and Claude Fable 5
2026-07-08 22:54:52 +01:00
f57a73e8a1
M2 step 4: relink the kernel into the higher half
Daniel Samson and Claude Fable 5
2026-07-08 22:45:56 +01:00
724de7bbd0
M2 step 3: route every physical dereference through the physmap
Daniel Samson and Claude Fable 5
2026-07-08 22:41:42 +01:00
75bc429aa1
M2 step 1-2: loader builds bootstrap tables + CR3 handoff
Daniel Samson and Claude Fable 5
2026-07-08 22:28:43 +01:00
91aff2bc4a
pin the kernel to LLVM+LLD
Daniel Samson and Claude Fable 5
2026-07-08 22:17:02 +01:00
546dd44a2a
isolation M1: ring 3 + a real /sbin/init, end to end
Daniel Samson and Claude Fable 5
2026-07-08 22:15:07 +01:00
7501bd1703
gather kernel tunables into config.zig
Daniel Samson
2026-07-08 16:26:36 +01:00
1b47de5058
allocate AP kernel/IST stacks at bring-up, not statically
Daniel Samson
2026-07-08 16:04:18 +01:00
26ac97df31
test fault-on-AP and affinity; report the faulting core
Daniel Samson
2026-07-08 14:45:28 +01:00
37f72a4df8
add thread affinity: pin a task to a core
Daniel Samson
2026-07-08 14:45:28 +01:00
f02259cae0
close audited test gaps: discovery, W^X, power
Daniel Samson
2026-07-08 14:17:54 +01:00
5940864958
test the trampoline is inert (zeroed + NX) when dormant
Daniel Samson
2026-07-08 13:46:53 +01:00
91f2cfa17b
add smp-retry test for the AP wake retry path
Daniel Samson
2026-07-08 13:41:14 +01:00
debe815a5c
keep the AP trampoline inert between wakes, and retry failed cores
Daniel Samson
2026-07-08 13:32:34 +01:00
dba3939a0f
add an SMP lock-stress test case
Daniel Samson
2026-07-08 12:45:02 +01:00
43afe6bf2e
schedule tasks across all cores
Daniel Samson
2026-07-08 12:28:31 +01:00
ed7f542006
wake application processors to long mode
Daniel Samson
2026-07-08 12:02:12 +01:00
36c29d2d6d
move the running task into per-CPU state
Daniel Samson
2026-07-08 11:31:53 +01:00
941ab091db
add a big kernel lock for SMP
Daniel Samson
2026-07-08 11:23:59 +01:00
cf7c6df41c
enumerate usable CPU cores from the MADT
Daniel Samson
2026-07-08 11:03:48 +01:00
26d2f5259c
document the multi-sink logging model
Daniel Samson
2026-07-08 10:41:47 +01:00
cb63d2e31b
add multi-sink diagnostic log; make framebuffer optional
Daniel Samson
2026-07-08 10:40:22 +01:00
7d3417fe86
refactor kernel to use device platform discovery
Daniel Samson
2026-07-08 10:06:46 +01:00
2ee898a91e
add device platform module with ACPI support
Daniel Samson
2026-07-08 09:23:41 +01:00
53a33a7332
fix debug typos
Daniel Samson
2026-07-05 19:07:22 +01:00