Add boot monitor, move HalBootController into hal-adapters directory#20
Open
chrysh wants to merge 2 commits into
Open
Add boot monitor, move HalBootController into hal-adapters directory#20chrysh wants to merge 2 commits into
chrysh wants to merge 2 commits into
Conversation
Split the concrete adapter out of the api trait crate: api keeps only the BootControl contract and loses its HAL dependency, becoming a contract-only leaf that everything can depend on without inheriting the stack behind an adapter. The new fwmanager-hal-adapters crate holds HalBootControl with its tests in hal_boot_control.rs, named after the adapter type it defines. The moved code is unchanged apart from importing the trait from fwmanager_api. Assisted-by: Claude:claude-fable-5
Add the Boot Orchestrator's observation capability: the BootMonitor trait (boot_status) reporting boot liveness as BootStatus lands in the api leaf crate, and GpioBootMonitor, binding one HAL GpioPort input line to a managed device's boot-complete signal, lands in the hal-adapters crate as gpio_boot_monitor.rs. Liveness only: it reports that a device came up, never what booted (attestation is a separate step), and a stuck boot is caught by the orchestrator's timeout, not by this enum. Includes host unit tests covering active-high and active-low polarity, that an unrelated line is ignored, that a deasserted line reads as Booting rather than a failure, and that a port read error surfaces through BootMonitor unchanged. Closes: #6 Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Christina Quast <christina.quast@9elements.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.
This patch can only be applied after the boot reset control patch is done.