Conversation
chrysh
force-pushed
the
compose-updatable
branch
2 times, most recently
from
August 27, 2026 19:30
6fe01da to
ace86fe
Compare
chrysh
force-pushed
the
compose-updatable
branch
5 times, most recently
from
September 22, 2026 11:44
0f07730 to
28c306e
Compare
chrysh
marked this pull request as ready for review
September 22, 2026 11:45
chrysh
requested review from
leongross and
rusty1968
and removed request for
rusty1968
September 22, 2026 11:45
chrysh
force-pushed
the
compose-updatable
branch
from
September 22, 2026 11:45
28c306e to
75b8f04
Compare
embediver
approved these changes
Sep 22, 2026
BoardCapabilities gains an Updatable associated type and Board an updatables array, indexed like images. request_update is the seam between an update frontend (PLDM FD, a staged image) and the orchestrator: driver.submit_update(target) records the job, then Event::UpdateRequest is dispatched. The order matters: StageUpdate with no stored job fails closed, and a refused submit (unknown id, update already in flight) injects no event. The executors for the update quartet wait on the update-pump design. Event::UpdateRequest carries no target by design: the machine supervises one update at a time and never inspects which component it is. The driver resolves the target before injecting the event. ReportUpdateDeferred and ReportUpdateAborted clear pending_update so a deferred request or an aborted update does not permanently block the slot. Assisted-by: Claude (Anthropic)
chrysh
force-pushed
the
compose-updatable
branch
from
September 22, 2026 16:17
75b8f04 to
6a021bc
Compare
This branch has not been deployed
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.
The board composes the update capability:
BoardCapabilitiesgains anUpdatableassociated type andBoardanupdatablesarray, indexed likeimages.On top of that, the connection between an update frontend (PLDM FD, staged
blob) and the SM:
driver.submit_update(target)records the in-flight job(unknown id and double submit are refused, nothing stored on refusal) and
request_updatesubmits first, then dispatchesEvent::UpdateRequest. Theorder is load-bearing:
StageUpdatecan never run without a target, and arefused request never reaches the SM; the frontend answers the requester over
its own protocol.
The update-quartet executors are not in here; they follow with the update pump.
Until then the end-to-end test pins today's fail-closed behavior (the
Updatingentry effects latchLocked).Progress toward 9elements#8.