Repository navigation
issues: the kernel-is-small track's input steps and exits deliver to the owner of input over the input port, and step 10's exit checks the kernel's streams deleted - #904
Conversation
…'s owner over the `input` port Step 10 sent USB HID to the kernel's keyboard claim, and stage 7 step 2 had ps2server feed the kernel's keyboard and mouse streams so the merge stayed in the kernel. The ruling on #899 (issuecomment-6137234392), applied to usbd on #901 (issuecomment-6137234651, and the review's NOTE 6 there, issuecomment-6137611615), puts the merge in userland with no kernel feed. Both clauses now say the drivers deliver to the screen's owner over the `input` port, and that the kernel's keyboard and mouse streams go when their last kernel source leaves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Widening the fence: this branch also takes step 10 exit's third clause and stage 7.2's keyboard-claim sentence and kernel test, rewriting them to the input ruling (userland owns the merge; the kernel streams go with their last kernel source). Ruled on #901. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
…release, not a keyboard claim Step 10's exit named "the keyboard's by stage 7 step 2's kernel test on usbd's claim", and stage 7 step 2 refused a keyboard claim while no source existed and owed a kernel test of a keyboard claim handed to the next claimant. Under the input ruling (#899, applied to usbd on #901) neither driver holds a keyboard claim, so all three presupposed a kernel feed that is gone. Step 10's exit now holds a key usbd held at its death to the owner of input's `toyos-input` release test, as #901's accepted design maps it. Stage 7 step 2 names ps2server's one kernel claim, the `isa` row, and its kernel test is `isa_lines_reach_their_holder`'s dead holder leaving no record to the next, as #899's accepted design maps it. Taken here by the ruling on #904 that widened its fence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Review, round 1: head
|
… owner of input, not the screen's Review round 1 on #904. Step 10's exit now fails while `keyboard.rs`, `mouse.rs`, `input_merge_test.rs` or a `Keyboard`/`Mouse` class in `sdk/abi` remains. Step 10 and stage 7 step 2 deliver to the owner of input, as the ruling names it, not the screen's owner. The `toyos-input` test's controls are #901's two, exactly. Stage 7 step 2 states the kernel merge's deletion in #899's words. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
|
Ruling on the open point: the track's order puts 7.2 (ps2server) before step 10 (#900's order item 1), so the kernel's last input source at step 10 is usbd's, and the exit can be met. Say so in step 10's depends. |
Review, round 2: head
|
At step 10 usbd's is the kernel's last input source, so its exit's deletion of the kernel's input streams is met only once ps2server holds the i8042. The owner's ruling on #904 puts 7.2 before step 10. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
#894 adds the clipboard port beside the input port: both are held alone, both are served by the compositor, and its poll budget counts both. #904 rewrote step 7.2 of the track; its text is kept, marked done. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
issues/the-kernel-is-small-interrupts-post-and-threads-wait.mdno longer routes keyboard and mouse input through the kernel. Every clause of the track that presupposed a kernel feed is rewritten to the input ruling: userland owns the merge, drivers deliver to the owner of input over theinputport, the kernel's merge is deleted, and the kernel's keyboard and mouse streams go when their last kernel source leaves, which step 10's exit checks.The ruling is #899's, applied to usbd on #901 and recorded as #901's review NOTE 6. The fence was widened to the exits by the ruling on #901, recorded here. Nothing else in the file changes.
What changed, per clause:
inputport, as the ruling names it: Design: one userland input owner for the ARM desktop #868's inputserver once it lands, the compositor until then. The kernel's streams go when their last kernel source leaves. Step 10 depends on stage 7 step 2 landing first, because at step 10 usbd's is the kernel's last input source (the owner's ruling on this PR).toyos-input's: a connection's end releases every device it carried, and agonereleases only its ownsource. It is red withMerge's release on a connection's end removed, and red withgonereleasing its whole connection: S1 of the xHCI move into usbd: a FAT entry that grows its file is written a cache flush after its chain and data, held by a module test that stops the disk inside a flush epoch #901's two controls, exactly. This is the test S1 of the xHCI move into usbd: a FAT entry that grows its file is written a cache flush after its chain and data, held by a module test that stops the disk inside a flush epoch #901's design names as "the owner's test that a key held at usbd's death is released".keyboard.rs,mouse.rsandinput_merge_test.rsgone fromkernel/src, and noKeyboardorMouseinsdk/abi'sDeviceTypeorFileType. A grep fails it.inputport, where userland does the merge. In ps2server: the i8042 driver leaves the kernel, and the owner of input merges every source #899's words, the kernel's merge (HELD,merged_buttons,SOURCE_EXISTS) is deleted, and its streams carry its own sources' records unmerged until usbd takes the last of them.isarow, that it takes no keyboard claim, and that the owner reads its transitions from itsinputacceptor's connections.isarow whose holder dies is handed to the next claimant with none of the dead holder's records pending (isa_lines_reach_their_holder). It is red on a kernel whose release keeps the dead holder's record.What I am unsure of: Step 10's exit cites the
toyos-inputtest by what it checks, not by a name. #901's design does not name it yet.The AMD bench's failure line is not filed again.
issues/a-metal-job-that-fails-on-the-amd-bench-is-reported-as-failing-on-the-t14.mdalready records it at its site:Boot::job_passed,tests/common/metal.rs:490-498. Its exit is one a test can fail. #873's AMD judge line is one more reading of the same defect. This branch does not edit that issue, because an existing issue is edited only by the branch that takes it up.Gates
cargo run -- --ci hostatee3d8d62c, onorigin/mainat6080e839d: EXIT=0, recorded as the log's last line (log).Growth: one issue file, +29 −13 lines.
🤖 Generated with Claude Code
https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy