Conversation
CheckpointWalk<R, G> walks a device's BootCheckpoints in declaration order, polling an EvidenceReader at each step and judging per-checkpoint windows against caller-injected now_millis. Read errors are treated as silence (Booting), lapsed windows are timeouts with no last-chance read. The QEMU runtime itest (scenarios 1-2) now uses CheckpointWalk directly instead of the hand-rolled checkpoint loop, separating walk judgment from BootWatchdogs scheduling. Scenarios 3-5 (BootWatchdogs multiplexing and commit watchdog) are unchanged. The config crate's BootCheckpoint type gets a wiring example showing three GPIO checkpoints with pin bindings. Assisted-by: Claude (anthropic.com)
BmcBootReader dispatches BmcSignal::Bl1 to a GpioBootMonitor bound at bring-up to pin 42 (bank EH, bit 10, active-high). BMC_DEVICE holds the device table constant: one checkpoint, 500 ms window. The crate is host-testable against a mock GPIO port; 3 tests cover Booted/Booting dispatch and the device-table shape. The platform driver constructs the reader and hands it to CheckpointWalk at wiring time. Depends on OpenPRoT#471 (CheckpointWalk). Assisted-by: Claude (anthropic.com)
chrysh
force-pushed
the
wire-bl1-gpio42
branch
from
September 17, 2026 17:50
1656499 to
563accb
Compare
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
target/ast10x0/boot_evidence/: the first concrete board-levelEvidenceReaderimpl, wiring the BMC's bl1 checkpoint to SGPIOM pin 42(bank EH, bit 10, active-high) via
GpioBootMonitor.BmcSignalenum is the board's boot-signal vocabulary (one variant for now).BMC_DEVICEconstant holds the device table entry: one checkpoint, 500 mswindow.
BmcBootReaderdispatches signal to monitor; the platform driver constructsit at bring-up.
BL1_PIN_OFFSET,BL1_POLARITY); the typedSgpiomMaskbinding lands with the platformdriver.
Stacked on #471, review the last commit only.
Open questions
reset_signal: 0inBMC_DEVICEis a placeholder, nothing consumes ityet. Real value lands with the reset-controller wiring.
BmcBootReader::newcall with a realSgpiomBankPort) lands with the platform-driver PR.Test plan
bazel test //target/ast10x0/boot_evidence:ast10x0_boot_evidence_test(3 host tests: Booted/Booting dispatch, table shape)