Skip to content

Add boot monitor, move HalBootController into hal-adapters directory#20

Open
chrysh wants to merge 2 commits into
add-boot-reset-control_v2from
add-boot-monitor
Open

Add boot monitor, move HalBootController into hal-adapters directory#20
chrysh wants to merge 2 commits into
add-boot-reset-control_v2from
add-boot-monitor

Conversation

@chrysh

@chrysh chrysh commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

This patch can only be applied after the boot reset control patch is done.

chrysh added 2 commits July 17, 2026 13:59
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>
@chrysh
chrysh force-pushed the add-boot-monitor branch from 34908f1 to a4c31ae Compare July 17, 2026 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant