Repository navigation
Conversation
Every scenario here binds SvnFloorBinding::SelfManaged, so commit_svn_floor returns at the binding test and the pass that brings the spare slot up to the committed image never runs. slot_resync is svn_commit with the eRoT keeping the floor for the managed component, which is what reaches it. The run checks the order the driver promises: the floor still reads 0 when the commit is granted, nothing advances it while the pass is running, and it reads the SVN the chain walk recorded once the spare slot holds the image byte for byte. The board verifier has to return an SVN for that; the stub returns none, which makes the driver hold the advance and report SvnFloorHeld instead. The spare slot is memory the orchestrator app owns. No PLDM operation pushes bytes to a Firmware Device and only pldm_fd maps the FMC, so an Updatable that writes flash the device holds is not available here.
Entering Ready confirms the trial and names the eRoT in awaiting_floor_advance, so the request the Update Agent would send with UpdateSecurityRevision finds something outstanding. No request arrived, so commit_self_svn_floor had no caller outside the driver tests. self_trial now dispatches Event::SvnCommitRequest for the eRoT, the way the update scenarios dispatch it for their device, and checks the floor reads the SVN the trial recorded and the session closed. A request the state machine drops emits no effect, so the grant waits on Effect::CommitSvnFloor rather than on the dispatch returning. Serving 0x22 over PLDM for the eRoT is still unbuilt: it needs the eRoT to be a Firmware Device to the Update Agent, a four-app image on a memory map that holds two, and a session in storage rather than RAM.
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.
Stacked on #620, whose commit this branch carries. Review the second commit; merge #620 first and this diff shrinks to it.
Entering
Readyconfirms the trial and names the eRoT inawaiting_floor_advance, so the request the Update Agent would send with UpdateSecurityRevision finds something outstanding. No request arrived, socommit_self_svn_floorhad no caller outside the driver tests.mock_downstream_device/self_trialnow dispatchesEvent::SvnCommitRequestfor the eRoT, the way the update scenarios dispatch it for their device, and checks the SVN floor reads the SVN the trial recorded and the session closed. A request the state machine drops emits no effect, so the grant waits onEffect::CommitSvnFloorrather than on the dispatch returning.Serving 0x22 over PLDM for the eRoT is still unbuilt: it needs the eRoT to be a Firmware Device to the Update Agent, a four-app image on a memory map that holds two, and a session in storage rather than RAM. GAPS.md says so in place of the old entry.
Verified by aiming the request at the managed device instead, which fails with "the request for the SVN floor advance was dropped". 42 of 42 integration tests pass with
--nocache_test_results.Issue: 9elements#21