danos/system/kernel
Daniel Samson def34e71fc threads(M6): getCurrentId, docs, and CI wiring — threading built
New thread_self=42 syscall backs runtime.Thread.getCurrentId (the calling
thread's kernel task id). thread-test gains an id mode: two workers read
getCurrentId and the main thread confirms all three ids are non-zero and
distinct. Per-thread threadlocal TLS is deferred by design (no consumer; it would
need context-switched fs.base for an unused feature), as are RwLock/WaitGroup.

Marks the threading feature built (M1-M6): threading.md + docs/README.md status
updated, all thread-* cases wired into qemu_test.py.

Gate thread-id PASS; full suite green: 21/21 (thread-spawn/join/futex/mutex/id,
aspace-refcount, + 15 guardrail cases), zig build clean, zig build test green.
2026-07-20 21:55:13 +01:00
..
architecture/x86_64 threads(M2): thread_spawn/thread_exit + runtime.Thread.spawn 2026-07-20 21:04:23 +01:00
console.zig kernel: route routine status to the log, not the framebuffer console 2026-07-14 08:26:55 +01:00
devices-broker.zig display: framebuffer handoff primitive + service design (D1) 2026-07-14 00:54:56 +01:00
font.psf
heap.zig
ipc-synchronous.zig display: resilient scanout — supervised driver, survive loss, re-attach (v2 V6) 2026-07-14 13:10:21 +01:00
ipc.zig
irq.zig
kernel.zig kernel: contain a fatal fault — name the task, release the BKL before halt 2026-07-14 09:05:10 +01:00
log.zig Persist the kernel boot log to the USB FAT volume 2026-07-13 18:18:34 +01:00
pmm.zig
process.zig threads(M6): getCurrentId, docs, and CI wiring — threading built 2026-07-20 21:55:13 +01:00
scheduler.zig threads(M4): futex_wait/futex_wake, the blocking primitive 2026-07-20 21:30:57 +01:00
sync.zig kernel: contain a fatal fault — name the task, release the BKL before halt 2026-07-14 09:05:10 +01:00
tests.zig threads(M6): getCurrentId, docs, and CI wiring — threading built 2026-07-20 21:55:13 +01:00
wall-clock.zig Phase 2d (i): a kernel wall-clock from the CMOS RTC 2026-07-13 20:35:03 +01:00