hybrid: H4 withdrawn -- USB is not a peripheral
Not deferred and not blocked on the per-device ownership interface the last commit described. Withdrawn, because the premise was wrong. USB is the bus the peripherals arrive on. Nearly every machine has a port in some form, down to a bad micro-B on a board with nothing else, and the ones that have none are not made worse by the stack being there. That makes it structurally the same kind of thing as PCI, and this plan has never proposed evicting PCI. The eviction rule already said so and was read too quickly: "anything discovered at runtime ... goes out" is about the things USB discovers, not about USB. The keyboard and the root disk that arrive over it are on the path to a shell, and the stack that finds them is part of that path. The obstacles recorded in the previous commit are real, but they are not the reason. Even with a minimal in-kernel fallback written and a per-device ownership interface designed, the good USB driver and the minimal one would be the same driver -- and an eviction that leaves an identical copy behind has moved nothing. hybrid.md is now closed and leaves the register in docs/plan/1.0.md. What the four mechanisms were built for next is the foreign driver host. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQ7Qx8E1q1M1bbCq8QLHS2
This commit is contained in:
parent
4a19b9adf8
commit
907d0e6c8a
4 changed files with 5489 additions and 7 deletions
|
|
@ -94,7 +94,7 @@ The galling ones. The work exists, is tested, and nothing uses it.
|
|||
| | Where it stopped |
|
||||
|---|---|
|
||||
| **`foundations.md`** | Item 1 built. Items 2 (a shareable memory object), 3 (`AF_UNIX` in the filesystem namespace), 4 and 5 open. **Wayland stops at item 2.** |
|
||||
| **`hybrid.md`** | All four mechanisms built. H1, H2 and H3 done — the driver can be killed and comes back, and the display mode can be changed from a process. **H4, the USB eviction, is the only one left and is much the largest thing on this register**: `xhci.c` plus a USB core and three class drivers, all of which are on the path to a shell on real hardware. |
|
||||
| ~~**`hybrid.md`**~~ | **Closed.** All four mechanisms built; H1, H2 and H3 done. H4 — the USB eviction — is *withdrawn* rather than outstanding: USB is the bus peripherals arrive on, not a peripheral, and an eviction that has to leave an identical driver behind has moved nothing. See [hybrid.md](hybrid.md), "Decided: USB stays in the kernel". |
|
||||
| **Schcom v0** | 715 lines that composite, over a wire format that is superseded. Frozen: it runs, nothing more is added, and it is kept only because it is the one thing in the tree that has ever put a client's pixels on screen. |
|
||||
| **`debugger.md`** | D0 through D4 built and described in [../architecture/debugging.md](../architecture/debugging.md). Only the network transport is open — a userspace daemon bridging TCP to `/dev/dbg`, which is deliberately last. |
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue