soc/intel/common: Check CSE Lite RW status
The patch moves CSE Lite RW status check out of CSE RW update logic as the RW sanity check has to be done irrespective of CSE RW update logic is enabled or not. If coreboot detects CSE Lite RW status is not good, the coreboot triggers recovery. TEST=Verified boot on Brya Signed-off-by: Sridahr Siricilla <sridhar.siricilla@intel.com> Change-Id: I582b6cf24f8894c80ab461ca21f7c6e8caa738bc Reviewed-on: https://review.coreboot.org/c/coreboot/+/55619 Reviewed-by: Subrata Banik <subrata.banik@intel.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
42583de6b8
commit
54b03569c3
|
@ -728,9 +728,6 @@ static uint8_t cse_fw_update(const struct cse_bp_info *cse_bp_info)
|
||||||
return cse_trigger_fw_update(cse_bp_info, &source_metadata, &target_rdev);
|
return cse_trigger_fw_update(cse_bp_info, &source_metadata, &target_rdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cse_is_rw_bp_status_valid(cse_bp_info))
|
|
||||||
return CSE_LITE_SKU_RW_JUMP_ERROR;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -768,6 +765,9 @@ void cse_fw_sync(void)
|
||||||
cse_trigger_recovery(rv);
|
cse_trigger_recovery(rv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!cse_is_rw_bp_status_valid(&cse_bp_info.bp_info))
|
||||||
|
cse_trigger_recovery(CSE_LITE_SKU_RW_JUMP_ERROR);
|
||||||
|
|
||||||
if (!cse_boot_to_rw(&cse_bp_info.bp_info)) {
|
if (!cse_boot_to_rw(&cse_bp_info.bp_info)) {
|
||||||
printk(BIOS_ERR, "cse_lite: Failed to switch to RW\n");
|
printk(BIOS_ERR, "cse_lite: Failed to switch to RW\n");
|
||||||
cse_trigger_recovery(CSE_LITE_SKU_RW_SWITCH_ERROR);
|
cse_trigger_recovery(CSE_LITE_SKU_RW_SWITCH_ERROR);
|
||||||
|
|
Loading…
Reference in New Issue