New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 780843 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Last visit > 30 days ago
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

vboot: Add GBB flag(s) to ignore EC SW sync, yet still sysjump

Project Member Reported by sha...@chromium.org, Nov 2 2017

Issue description

GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC / GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC disables SW sync and skips sysjump (so EC will remain in RO). EC devs often want to skip SW sync (so their newly-flashed RW remains intact) yet not skip sysjump (so shipping boot flow remains in effect, to debug a certain class of issues). I have often hacked up local vboot source to achieve this, others are hacking up EC FW to achieve this (eg. https://chromium-review.googlesource.com/#/c/chromiumos/platform/ec/+/750536/), it would be nice to just add a GBB flag (or modify existing GBB flags) to make it happen.

How about we modify GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC / GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC to only disable SW sync, then add a new flag like GBB_FLAG_DISABLE_EC_SYSJUMP (covers both EC + PD, probably not worth adding a second flag just for PD)?

- If none of these flags are defined then bootflow is normal.
- If GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC is defined but not GBB_FLAG_DISABLE_EC_SYSJUMP then we will blindly request EC sysjump to RW without SW sync.
- If GBB_FLAG_DISABLE_EC_SYSJUMP is defined but not GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC then SW sync will still happen but we won't request sysjump.
- If both are defined then both SW sync and sysjump will be skipped (equivalent to the current implementation of GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC).
 
Seems reasonable.  Will need to make a pass across scripts / documentation to make sure that any flows which expect the current definition of GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC get updated to OR in the new flag.
We could add a new flag to force enable sysjump, that way the original flags don't have to change behavior.  But it is a bit convoluted...
Status: Assigned (was: Untriaged)

Sign in to add a comment