summaryrefslogtreecommitdiff
path: root/src/soc/cavium/common/bdk-coreboot.c
diff options
context:
space:
mode:
authorFurquan Shaikh <furquan@google.com>2021-10-06 23:28:03 -0700
committerFelix Held <felix-coreboot@felixheld.de>2021-10-14 13:11:57 +0000
commitc45e0bedb26002b32cf6ecaca26a56214c28a8b5 (patch)
tree333f33e67e928218653881d8307f8ca011f7ad98 /src/soc/cavium/common/bdk-coreboot.c
parentd086e3d6e42036b1ec0fc2173db5386279ac838b (diff)
soc/intel/common/cse: Reorganize firmware update checks for CSE Lite
`cse_fw_update()` is currently checking whether an update is required by comparing versions once and then again comparing versions later in `cse_is_downgrade_instance()` to determine if the update is an upgrade or downgrade. Additionally, if CSE RW partition is corrupt (determined based on `cse_is_rw_bp_sign_valid()`), `cse_is_downgrade_instance()` ends up using the corrupted version information to determine if it is a downgrade instance. This change reorganizes the firmware update checks to return different status values: 1. CSE_UPDATE_NOT_REQUIRED: No update required. Versions match. 2. CSE_UPDATE_UPGRADE: Update required and it is an upgrade. 3. CSE_UPDATE_DOWNGRADE: Update required and it is a downgrade (requires data clear). 4. CSE_UPDATE_CORRUPTED: `cse_is_rw_bp_sign_valid()` failed and hence requires data clear. 5. CSE_UPDATE_METADATA_ERROR: Unable to read CSE metadata from CBFS. This change also prepares the file for follow up changes which completely drop cse_rw_metadata structure. BUG=b:184892226 Change-Id: Iabecab8e373e65a11ba7fe1bfc125467571a0588 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58157 Reviewed-by: Sridhar Siricilla <sridhar.siricilla@intel.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/cavium/common/bdk-coreboot.c')
0 files changed, 0 insertions, 0 deletions