Repository navigation
docs: reconcile and fact-check RFC-0005, RFC-0006 and RFC-0007 - #23
Draft
MatejGomboc wants to merge 7 commits into
Draft
MatejGomboc wants to merge 7 commits into
MatejGomboc wants to merge 7 commits into
Conversation
Cross-RFC coherence, part 1: RFC-0006 renamed its per-core time object SchedControl, and designs the stack-overflow path RFC-0005 relies on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
- region_copy joins the operations table and W^X's layer 2, as RFC-0007 proposed it into this RFC's domain. - DTB placement re-checked on QEMU 11.0.3, with the mechanism stated. - The TLB no-caching rule gains its Arm ARM (D8.12) and SDM (4.10.2.3) citations, and the permission-fault caveat that makes protect invalidate. - load_elf's file is elf_ops.h.inc at 11.0.3; the bound is p_filesz. - SCTLR_EL1's RES1 bits are named and sourced; ITD and SED noted. - One merged programme order, in RFC-0007 section 18. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
- Reply objects unbind rather than die, per RFC-0007's proposed amendment; a late reply fails PeerGone. - Moving an endpoint into a TCB needs TRANSFER (RFC-0003 section 6). - RFC-0007's console never waits, so it sets no MIN_BUDGET floor and needs no preemption point; the 44 ms interim is gone. - reissue, which RFC-0005 no longer proposes, is no longer cited. - RFC-14 quoted exactly: the threshold comparison, the deferral, the performance figures, and the one-layer return as its budget-limit mechanism applied to expiry. - The kernel stack-overflow path RFC-0005 relies on is designed here. - GIC ARE is RAO/WI with one security state; CNTKCTL_EL1 and PMUSERENR_EL0 reset UNKNOWN; PSCI re-checked on QEMU 11.0.3. - Increment 5 needs address spaces (0005#13); 0005#10 repoints the GIC. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
…_copy - The merged demo order is now the single source the other two RFCs defer to, in four stages, and it no longer lands RFC-0005's 14 before the dispatcher it needs. - hw/arm/boot.c re-read at QEMU 11.0.3: -initrd is ignored for an ELF. - region_copy points at RFC-0005 section 8, which now carries it. - RFC-0006 already reads 'unbinds' for reply objects. - RFC-0005: its constraints on the order and its closing sentence match the merged order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
- RFC-0005's entry: thirteen demo increments, not fourteen; SchedControl, not Core; the DTB fact stated precisely. - RFC-0006's entry describes the document rather than its drafting, dropping a stale reference to SCTLR bits RFC-0005 had once inverted. - A Changed entry records the 2026-10-02 coherence pass and fact-check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
The maintainer approved user/abi/src/arch/** in principle on 2026-09-27, in a session, pending RFC-0007. The vision audit found no trace of it in the repository; this entry is that trace, and states that it binds nothing until RFC-0007 is accepted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
…al fixes Proofread (72 findings, 2 superseded): argument orders matched to RFC-0007's encoding; verdicts and state tables agree with their bodies; RFC-0007 no longer counts RFC-0006's wfi and FP/SIMD traps as faults; the 'minimal assembly' pointer names the Language clause, not 11.1; naming, hex case and code spans made consistent; prose rewrapped. Vision audit: the kernel's store is the object store; RFC-0006 gains A5 (budgets as caps), A6 (capabilities resting in a thread) and raises its narrowing of priority inheritance as constitutional question C1, plus an open question on rightless capabilities; RFC-0007 names the missing receive-side badge register and keeps the root from becoming the broker; CLAUDE.md says GPL-2.0 sources are cited, never copied. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Summary
RFC-0005, RFC-0006 and RFC-0007 (all still proposed) were revised in parallel and had drifted apart where they meet. This PR reconciles them and settles every claim they had flagged as unverified. It is the follow-up to #22's hand-off, items 1–3. Draft: a line-by-line proofread and an audit against the constitution's vision are still running, and their fixes will land here before it is marked ready.
Explanation for the maintainer
Seams closed between the three RFCs. Each fix is made in the RFC that owns the subject:
Core; RFC-0006 calls itSchedControl, and RFC-0005 now does too.SchedControl, any unified domain left to the broker RFC.nTWE: RFC-0006 asked RFC-0005 to correct a bit RFC-0005 had already corrected. The stale demand is gone.replyfailsPeerGone.set_fault_ep/set_timeout_ep) now requiresTRANSFER, as RFC-0003 §6 requires for every move.region_copy: RFC-0007 proposed it into RFC-0005's domain, but RFC-0005 never had it. It now has an operations-table row, refusal rules, a W^X layer-2 entry (refused while the destination has anRXmapping), and a place in increment 14.MIN_BUDGETfloor derived from it, are gone.reissue: RFC-0005 no longer proposes it, and RFC-0006 no longer cites it.SPand switch to an emergency stack; x86_64 escalates to#DFon an IST. Both follow Linux.Facts settled. An independent fact-checker checked each claim against primary sources: QEMU 11.0.3's source and probe boots on it, seL4's kernel and RFC-14, Arm's SysReg descriptions, the Intel SDM, Linux and TF-A. Nearly everything held. The corrections:
load_elflives inelf_ops.h.incat 11.0.3, and its bound isp_filesz.protectinvalidates.SCTLR_EL1's RES1 bits are named and sourced. QEMU's reset value lacks three of them, which is why the register is written whole.Callfastpath, 21% onReplyRecv). Its "one-layer return" is attributed to its budget-limit mechanism, which this RFC applies to plain expiry.AREis RAO/WI with one security state.CNTKCTL_EL1andPMUSERENR_EL0reset to an architecturally UNKNOWN value.-initrdbehaviour was re-checked on 11.0.3.No verdict changed in substance; RFC-0005's verdict 7 now names
region_copy.docs/CHANGELOG.mdcorrects three entries: thirteen demo increments, not fourteen;SchedControl; and RFC-0006's entry describes the document rather than how it was drafted. It also gains a dated Changed entry for this pass.Which pillar does this serve?
Toil: design-document coherence (Constitution §5.4, "coherence over accumulation"), ahead of the maintainer's verdicts on the three RFCs.
If this changes a document or the constitution
RFC-000N §Mreference checked by script; semantic spot-checks of RFC-0003 §7, §9, §11, §14)docs/CHANGELOG.mdrecords it (no constitution change)Borrow Ledger
unsaferegisterunsafeblocks: Noneunsafeblock carries a// SAFETY:commentunsafeblock is inside a module CLAUDE.md designates for itChecklist
markdownlint-cli2clean locally; British spelling script clean🤖 Generated with Claude Code
https://claude.ai/code/session_01D1gBBT3tN99wzeJjf3tLWW
Generated by Claude Code