Add GBB flag to disable PD software sync

In order to disable PD software sync but still do EC software sync
it is useful to have a separate GBB flag for it.

This will allow me to release a Samus P2B firmware image that will
update the EC but not the PD, since the PD FW that comes on P2B
devices cannot be updated with software sync.

BUG=chrome-os-partner:30079
BRANCH=None
TEST=flash BIOS with updated EC+PD:
1) no GBB flags to override behavior updates both EC and PD
2) GBB flag to disable EC software sync disables both EC and PD update
3) GBB flag to disable PD software sync disables only PD update

Change-Id: I49ffb59238bee4a2dd66b24f2516e3ce46ea06cd
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/211910
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
This commit is contained in:
Duncan Laurie
2014-08-11 12:30:04 -07:00
committed by chrome-internal-fetch
parent 6014c04813
commit 277dc5274c
4 changed files with 12 additions and 4 deletions

View File

@@ -362,6 +362,9 @@ enum vb2_gbb_flag {
/* Default to booting legacy OS when dev screen times out */
VB2_GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY = (1 << 10),
/* Disable PD software sync */
VB2_GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC = (1 << 11),
};
struct vb2_gbb_header {

View File

@@ -62,6 +62,8 @@
#define GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC 0x00000200
/* Default to booting legacy OS when dev screen times out */
#define GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400
/* Disable PD software sync */
#define GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC 0x00000800
#ifdef __cplusplus
extern "C" {

View File

@@ -944,11 +944,13 @@ VbError_t VbSelectAndLoadKernel(VbCommonParams *cparams,
goto VbSelectAndLoadKernel_exit;
#ifdef PD_SYNC
if (!(cparams->gbb->flags &
GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC)) {
retval = VbEcSoftwareSync(1, cparams);
if (retval != VBERROR_SUCCESS)
goto VbSelectAndLoadKernel_exit;
}
#endif
}
/* Read kernel version from the TPM. Ignore errors in recovery mode. */

View File

@@ -34,6 +34,7 @@ GBBFLAGS_DESCRIPTION="
GBB_FLAG_FAFT_KEY_OVERIDE 0x00000100
GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC 0x00000200
GBB_FLAG_DEFAULT_DEV_BOOT_LEGACY 0x00000400
GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC 0x00000800
To get a developer-friendly device, try 0x11 (short_delay + boot_usb).
For factory-related tests (always DEV), try 0x39.