issues: the kernel's drivers and threads, and the host binaries the build rests on, each with its owner - #607
Conversation
The owner asked which known debts remain besides the crate sprawl and the C corpus. Research only; no code moves. - the-kernel-still-creates-threads: K2 is done (#549 deleted the reaper; `kthread::spawn` has two callers, klogd and iod), so K6 waits on K4 and K5 alone. K4 carries the constraint that the boot before logd and the panic path write the console wire, so one wire's driver stays. - every-driver-is-still-in-the-kernel: item 1 said it needed re-scoping because its file was deleted. It now names the HDA and virtio-sound stubs and virtio-gpu, which leave as `pci` claims the way netd did, and the ABI that retires with them. GOP stays for the panic console. - the-kernel-is-small: step 10 (usbd) meets the MSI-X-table-in-BAR-0 refusal that blocks blockd, and where either xHCI keeps its table is unmeasured. - python-and-cc-are-declared: what removing each takes, measured at the fork's pinned 9c3eea44. The Rust bootstrap builds with stable cargo and no Python, but LLVM's CMake requires Python 3. `cc` also compiles LLVM's C++, and rust-lld can take only the link, which on macOS still needs the SDK and fails on 27.0's TAPI stubs. CMake is 726 CMakeLists.txt and has no Rust replacement. - new: diag/flash.sh runs diskutil and plutil, and no ledger declares them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Head 4223c5f. CI Spot-checks against the tree, all true: BLOCKER
NOTE
REMOVE
CLAUDE.md rewording recommendation. Yes, change it, and only the number: "four macOS FAT tools" to "two macOS FAT tools". The tree has two ( LAND AFTER NAMED CHANGES 🤖 Generated with Claude Code |
…exits python-and-cc-are-declared.md loses its counts, versions, hash, the CMakeLists line cite, the unrun-bootstrap narration and the rust-lld measurement that named no command. The flash-script issue's exit is now `rg -l "diskutil|plutil"` outside rust/ finding nothing. K4 no longer cites a driver-model design the tree does not hold. CLAUDE.md says two macOS FAT tools, which is what the tree has, and the sourcegate clause that recorded the mismatch goes with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U6SVYFkdvV2t38KzNrESxs
One conflict, issues/kernel/the-kernel-still-creates-threads.md's stages. main (#607) dropped K2 and rewrote K4 with the console wire the boot and the panic path keep; this branch dropped K5, since iod goes with the kernel's write-back queue here and no kthread::spawn is added. The stages are #607's K4 and K6, K6 blocked on K4 alone. #607's hunks in every-driver-is-still-in-the-kernel.md (audio and virtio-gpu re-scoped) and the-kernel-is-small-interrupts-post-and- threads-wait.md (xHCI's MSI-X table) touch lines this branch does not change and merge as main wrote them; #602's toyos-cpuvuln and its sourcegate row likewise. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U6SVYFkdvV2t38KzNrESxs
The owner asked which standing debts remain besides the crate sprawl (#604) and the C corpus. This PR moves no code: it updates the issues that own each debt, files one issue for a debt nothing owned, and corrects one tree fact in CLAUDE.md. Issues only; no inventory or strategy document is recorded.
Changes
issues/kernel/the-kernel-still-creates-threads.md: K2 is deleted because Kernel: a kill never waits on its victim — the last thread out tears its process down #549 did it. K6 waits on K4 and K5. K4 carries the constraint that one console wire's driver stays in the kernel (log::console::drain_inline,serial::panic_flush), and no longer cites a driver-model design.issues/kernel/every-driver-is-still-in-the-kernel.md: item 1 is re-scoped to the HDA and virtio-sound stubs and virtio-gpu, the ABI that retires with them, and why GOP stays.issues/kernel/the-kernel-is-small-interrupts-post-and-threads-wait.md: step 10 notes the MSI-X-in-BAR-0 refusal and that where the T14's xHCI and NVMe keep their tables is unmeasured.issues/build/python-and-cc-are-declared.md: what removing Python,cc, and CMake with Ninja takes, without point-in-time counts or versions.issues/build/the-owners-flash-script-runs-diskutil.md; its exit isrg -l "diskutil|plutil"over the tree outsiderust/finding nothing.CLAUDE.md(owner-approved tree fact): "four macOS FAT tools" becomes "two macOS FAT tools"; the tree hasnewfs_msdosandhdiutilonly.src/sourcegate.rsloses the clause "Two, where CLAUDE.md says four", which that edit makes false. Nothing else in CLAUDE.md changes.Gates
cargo run -- --ci host: EXIT=0 on the head.Unsure
lspci -nnfor the two BDFs, thensudo lspci -vvv -s <bdf>as root for each. Without root theMSI-Xcapability'sTable: BAR=N offset=...line is hidden as<access denied>. The metal loop's sudoers rule does not listlspci, so this needs an interactive root shell.every-driver-is-still-in-the-kernel.mdstill says USB HID cannot move without moving "the boot block device". That predates ROOT in memory; only the owner can rule on it.🤖 Generated with Claude Code
https://claude.ai/code/session_01U6SVYFkdvV2t38KzNrESxs