StarletBootstrapProbe: --cycles, and the SBR1 ring's text #3

Closed
Yaya48 wants to merge 0 commits from staros/probe-cycles into master
pull from: staros/probe-cycles
Owner

StarOS EXP-003 (experiments/proposals/mmu-console.md, P-7 and P-8) needs two things the probe lacked; the maintainer chose both on 2026-10-14.

  1. --cycles <n> (b457eb18c3). The probe ran every image for a fixed 512 x 4096 ARM cycles (2,097,152); hashing the MEM2 window and timing series of operations take more. <n> is a decimal number of cycles, a whole number of 4096-cycle slices, from one slice to 2^30, given once; anything else is a usage error (exit 2), never rounded. Without it the probe runs 2,097,152 cycles, as before; the timeout messages name the budget. Parser in ProbeBudget.h, tested by StarletProbeBudgetTest.
  2. The SBR1 ring's text with --sbr1-record (bef2c8cf02). The probe printed the ring's length only, and EXP-003's monitor and measurement lines do not fit REV_TRACE (1024 bytes): they go to the ring only. After the record's summary the probe now prints the ring between SBR1 RING BEGIN and SBR1 RING END on stderr, as StarOS's Broadway loader prints it over the Gecko: at most 4032 bytes, a byte outside printable ASCII and newline, and the backslash, as \xHH. Formatting in ProbeRing.h, tested by StarletProbeRingTest.

Review flow as for MMU-001 F1: format-patch and diff sent to the maintainer; after approval, master is fast-forwarded to this branch's tip.

🤖 Generated with Claude Code


Approved by the maintainer on 2026-10-14 after a review of the patches (0001, 0002 and the full diff, which rebuild tree 29172a09 from master 6ede30f99e). Fast-forwarded: master is now bef2c8cf026c812a0da3297c9509d292cb412453; the branch is deleted, which closes this PR (merged from the git CLI).

StarOS EXP-003 (experiments/proposals/mmu-console.md, P-7 and P-8) needs two things the probe lacked; the maintainer chose both on 2026-10-14. 1. `--cycles <n>` (b457eb18c3). The probe ran every image for a fixed 512 x 4096 ARM cycles (2,097,152); hashing the MEM2 window and timing series of operations take more. `<n>` is a decimal number of cycles, a whole number of 4096-cycle slices, from one slice to 2^30, given once; anything else is a usage error (exit 2), never rounded. Without it the probe runs 2,097,152 cycles, as before; the timeout messages name the budget. Parser in `ProbeBudget.h`, tested by `StarletProbeBudgetTest`. 2. The SBR1 ring's text with `--sbr1-record` (bef2c8cf02). The probe printed the ring's length only, and EXP-003's monitor and measurement lines do not fit REV_TRACE (1024 bytes): they go to the ring only. After the record's summary the probe now prints the ring between `SBR1 RING BEGIN` and `SBR1 RING END` on stderr, as StarOS's Broadway loader prints it over the Gecko: at most 4032 bytes, a byte outside printable ASCII and newline, and the backslash, as `\xHH`. Formatting in `ProbeRing.h`, tested by `StarletProbeRingTest`. Review flow as for MMU-001 F1: format-patch and diff sent to the maintainer; after approval, master is fast-forwarded to this branch's tip. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- Approved by the maintainer on 2026-10-14 after a review of the patches (0001, 0002 and the full diff, which rebuild tree 29172a09 from master 6ede30f99e). Fast-forwarded: master is now bef2c8cf026c812a0da3297c9509d292cb412453; the branch is deleted, which closes this PR (merged from the git CLI).
Yaya48 added 1 commit 2026-10-14 17:34:37 +02:00
The probe ran every image for a fixed 512 slices of 4096 ARM cycles
(2097152). StarOS's EXP-003 images hash MEM2 and time series of
operations, which need more (StarOS experiments/proposals/mmu-console.md,
P-7 and P-8). --cycles <n> sets the budget: a decimal number of cycles,
a whole number of slices, from one slice to 2^30, given once; anything
else is a usage error (exit 2), never rounded. Without it the probe runs
2097152 cycles, as before, and the timeout messages name the budget.

The parser is in ProbeBudget.h, tested by StarletProbeBudgetTest.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Yaya48 added 1 commit 2026-10-14 17:49:59 +02:00
The probe printed the ring's length only. StarOS's EXP-003 images put
lines in the ring that REV_TRACE has no room for (the MEM2 monitor, the
measurements), so under Dolphin nothing showed them. After the record's
summary, --sbr1-record now prints the ring's text between "SBR1 RING
BEGIN" and "SBR1 RING END" on stderr, as StarOS's Broadway loader prints
it over the Gecko on the console: at most the ring's 4032 bytes, a byte
outside printable ASCII and newline, and the backslash, written \xHH.

The formatting is in ProbeRing.h, tested by StarletProbeRingTest.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Yaya48 changed title from StarletBootstrapProbe: --cycles to StarletBootstrapProbe: --cycles, and the SBR1 ring's text 2026-10-14 17:50:19 +02:00
Yaya48 closed this pull request 2026-10-14 21:33:02 +02:00
Yaya48 deleted branch staros/probe-cycles 2026-10-14 21:33:02 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Yaya48/dolphin#3