vms-a9e: SHOW CPU — primary, active/configured sets, per-CPU state + capabilities - #465
Merged
Merged
Conversation
…state + capabilities
Adds the SHOW CPU DCL command (previously fell through to %DCL-W-IVKEYW).
Renders the authentic OpenVMS report from REAL system data:
- /SUMMARY (default): Multiprocessing ENABLED/DISABLED, PRIMARY CPU,
Active CPUs, Configured CPUs.
- /BRIEF: per-CPU "CPU nn is in RUN state".
- /FULL: per-CPU state + "Capabilities of this CPU:" (PRIMARY QUORUM RUN
for the primary, QUORUM RUN for secondaries) + the bound-process line.
Data is sourced from the running system, never fabricated (INV-6):
configured set from /sys/devices/system/cpu/present, active set from
/sys/devices/system/cpu/online (sysconf fallback), primary = lowest online
CPU (boot processor). Per-CPU state and capabilities are derived from those
real facts.
Honest omissions (HARD RULE 2 — omit rather than invent): the per-CPU
"Current Process:" line (OVMX executive tracks no per-CPU process binding),
the VECTOR capability, and the microcode "minimum multiprocessing revision
levels"/synchronization-image lines have no OVMX source, so they are omitted
rather than rendered as fabricated values. These need a future executive CPU
database (flagged in rd vms-a9e).
Report layout/wording is clean-room (Rule 8) from public OpenVMS docs only:
VSI OpenVMS Wiki SHOW CPU, the OpenVMS DCL Dictionary SHOW CPU entry, and the
marc.vos.net OpenVMS HELP mirror — cited in the source comment. No new
cross-image symbol or TU, so no native-link wiring changes.
Tests: tests/dcl/test_show_cpu.sh (summary: PRIMARY CPU + active/configured
sets from real data) and test_show_cpu_full.sh (per-CPU RUN state +
PRIMARY QUORUM RUN capabilities). Both fail on origin/main (IVKEYW) and pass
with this change; full-build dcl-integration suite green (ctest exit 0).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
baron-3dl
added a commit
that referenced
this pull request
Aug 13, 2026
…ve (#472) Bump OVMX_PRODUCT_VERSION V0.4-2 → V0.4-3. 15 PRs since V0.4-2. Headline: the self-host toolchain now BUILDS — MMK.EXE drives real compile+link inside OVMX against a live executive. SELF-HOST #4 COMPLETE MMK.EXE genuinely drives compile+link builds vs real /dev/vms (#464 capstone). Full exec-drive substrate: async AST delivery + interruptible $HIBER (#457), IO$M_NOW (#458), DCL-over-mailbox (#460), + crash fixes #463 (32→64 ptr-width) / #464 (IO$M_NOW func-code mask). Freeze-join fix (#459). Component build host-proven (#470). UX FIDELITY SHOW CPU (#465), file protection SET/display (#467), RECALL readline-independent (#468), DCL scripting $STATUS/%X + CALL/SUBROUTINE + DECK/EOD (#469), DIRECTORY wildcards/ellipsis (#461). + swept other threads' merged work Self-host spine #5/#6 (MMK-drives-a-real-component IN QEMU) in flight. Co-authored-by: alice <alice@workspace.local> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Summary
Implements the
SHOW CPUDCL command (rd vms-a9e). It was absent onorigin/mainand fell through to%DCL-W-IVKEYW. Now it renders the authentic OpenVMS SHOW CPU report from real system data.Forms
/ALL/SUMMARY):Multiprocessing is ENABLED/DISABLED,PRIMARY CPU,Active CPUs,Configured CPUs.CPU nn is in RUN state.Capabilities of this CPU:(PRIMARY QUORUM RUNfor the primary,QUORUM RUNfor secondaries) +Processes which can only execute on this CPU:.Real data (INV-6 — no fabrication)
/sys/devices/system/cpu/present/sys/devices/system/cpu/online(sysconf_SC_NPROCESSORS_CONF/_ONLNfallback)Honest omissions (omit rather than invent)
Current Process:line — the OVMX executive tracks no per-CPU process binding, so there is no real value to print.VECTORcapability and the microcodeminimum multiprocessing revision levels/ synchronization-image lines — VMS-internal, no OVMX source.These need a future executive CPU database (flagged in the rd item).
Clean-room provenance (Rule 8)
Report layout/wording taken only from public OpenVMS docs, cited in the source comment: VSI OpenVMS Wiki SHOW CPU, the OpenVMS DCL Dictionary SHOW CPU entry, and the marc.vos.net OpenVMS HELP mirror. No disassembly.
Wiring
Static function in existing
dcl_cmd_show.c; no new cross-image symbol or TU → no native-link enumeration changes.Tests
tests/dcl/test_show_cpu.sh— summary:PRIMARY CPU+ active/configured sets from real data.tests/dcl/test_show_cpu_full.sh— per-CPU RUN state +PRIMARY QUORUM RUN.dcl-integrationsuite green (ctest exit 0, 128 passed).🤖 Generated with Claude Code