[BUG] Detailed syscall reference marks owned invocation selectors as unassigned #9
Labels
No labels
bug
ci
docs
duplicate
enhancement
help wanted
invalid
performance
phase-6
question
refactor
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
erix/docs#9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The System Call Reference's active-number list stops at 0x4B and calls all remaining numbers unassigned, although the preceding transport ABI table and current implementation assign 0x4C through 0x53 to the eight owned-invocation operations. The contradictory normative text can mislead syscall consumers.
Reproduction
Read the Active Syscall Numbers section in
manual/6-kernel-api-reference/14-syscall-reference.texat Docs4ff9a60ed9ba3fbc9d3b68a14c1a40e238ed386c, then compare the Syscall Operation Codes table inmanual/5-kernel-interfaces/12-ipc-syscall-abi.texand thelib_ipc::invocationconstants. The mismatch is present in the rendered manual as well as its source.Expected and actual behavior
Expected: the normative reference identifies the same active syscall surface as the complete transport table and implementation, with no duplicate list that can silently omit later operations.
Actual: the detailed reference omits REGISTER, SUBMIT, CLAIM, COMPLETE, COLLECT, PROGRESS, RELEASE and RELINQUISH, then describes their assigned numbers as unassigned. The kernel's rejection of removed host-report number 0x70 remains correct and should stay documented.
Environment and identity
4ff9a60ed9ba3fbc9d3b68a14c1a40e238ed386c; IPC constants: original83e267694ee23f0986a54562adcfd8d93c326a6a; current Kernel:e15a045d7701030e58d9e59517406f8c79694ff8.Evidence and prior checks
The transport table includes all twenty selectors from 0x40 through 0x53. The detailed list includes only the first twelve. The selected IPC source assigns the eight omitted constants consecutively from 0x4C. Retain the complete transport table as the single list and cross-reference it from the detailed reference, alongside the existing description of removed 0x70.
Validate Markdown and manual source checks, all existing documentation tests, complete rendering, links and affected pages. This correction does not establish full guest-build acceptance.
Single syscall inventory checkpoint — 17 September 2026: signed Docs
0a0f305464f7df2b33e2ef7c86079d64c844e4b8replaces the stale detailed syscall list with a resolved reference to the complete twenty-selector IPC table. This repairs issue 9, which omitted the eight owned-invocation operations. Removed selector 0x70 remains explicitly rejected; runtime ABI and generated API snapshots are unchanged.All 45 documentation tests, Markdown and template checks pass. The complete 2,385-page manual has 437,463 in-bounds word boxes, no final warnings, and visual review of pages 142 and 163. Rust and VM checks are inapplicable to these two prose-only changes. Original automatic CI 927 and CI 928 both pass. All four complete terminal logs total 764,750 bytes; reference passes resolve with 36/1/0 warnings and the final manual is warning-free. Issue 9 is repaired and closed. No full self-hosting acceptance is claimed.
Tracking
Owning review: #4. Documentation plan: #1. The caller-local kernel query checkpoint is tracked in erix/kernel#1.