Add boot reset control#352
Closed
chrysh wants to merge 4 commits into
Closed
Conversation
The board-level monitor module orchestrates the SPI monitor (SPIPF) and SCU mux control for SPI flash protection. Rename the file monitor.rs -> spi_monitor.rs and the struct Ast1060Monitor -> Ast1060SpiMonitor, and update the module path/re-export in lib.rs and the srcs list in BUILD.bazel, to reflect that it is specifically an SPI monitor. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.com>
Disambiguate the SPI monitor API from an upcoming BootMonitor subsystem so the two never collide. Rename in the spimonitor crate: Monitor (trait) -> SpiMonitorControl MonitorInstance -> SpiMonitorId (avoids clash with scu::SpiMonitorInstance) MonitorStatus -> SpiMonitorStatus MonitorState -> SpiMonitorState MonitorPolicy -> SpiMonitorPolicy The SpimWiringError::Monitor and SpiMonitorError::MonitorNotFound enum variants are left as-is; they are namespaced by their enum and cannot collide. Update the board impl accordingly. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.com>
Introduce the Boot Orchestrator's actuation capability: the BootControl trait (hold_in_reset / release) and HalBootControl, which binds one HAL ResetControl line to a managed device. Includes a host unit test verifying that holding a device in reset asserts exactly its configured line. Includes tests that release deasserts the device's configured line and that a controller error surfaces through BootControl unchanged. Extend the fake reset controller with opt-in failure injection to drive the error case. Closes: #2 Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.com>
chrysh
force-pushed
the
add-boot-reset-control
branch
from
July 16, 2026 13:21
effb8f8 to
79135e1
Compare
chrysh
marked this pull request as ready for review
July 16, 2026 13:28
leongross
force-pushed
the
add-boot-reset-control
branch
from
July 16, 2026 15:25
79135e1 to
d79b0cf
Compare
leongross
reviewed
Jul 16, 2026
Member
There was a problem hiding this comment.
We should keep the overall structure of this code base in mind. The firmware manager will have APIs for several components, so maybe we should encapsulate this code into a separate module, such as boot_control.rs and keep use lib.rs as top level importer for the other modules to come? For reference see structure of mctp service: services/mctp/api/src/
Contributor
Author
There was a problem hiding this comment.
yes, I also noticed that, thanks!
Contributor
Author
There was a problem hiding this comment.
I moved it in the latest commit.
Move the BootControl trait and HalBootControl out of lib.rs into boot_control.rs, so that public lib.rs API stays flat (fwmanager_api::BootControl, ::HalBootControl). Pure move, no code change; the same BootControl host tests pass. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.com> (cherry picked from commit 68665407fda86b98657e645bc8dda2e96f85ae0d) Signed-off-by: Christina Quast <christina.quast@9elements.com>
chrysh
force-pushed
the
add-boot-reset-control
branch
from
July 16, 2026 17:04
d79b0cf to
54e2764
Compare
Contributor
Author
|
I split it into two separate PRs, first one being: #355 |
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.
This commit adds the fwmanager service and the BootControl trait to the lib.rs
Furthermore, it renames Monitor to SpiMonitor, so that adding the BootMonitor trait later.