diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2017-05-22 16:01:27 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-24 23:34:35 -0400 |
commit | c578a6cdfbbc2b77c988548b81df6e1d9f202582 (patch) | |
tree | eec5fe1653d74bb4bb46ce1235a1722e52f97db6 /src/bootloader | |
parent | fcaea7edd10cc3a0f4535437af3fc1d91f827404 (diff) | |
download | talos-hostboot-c578a6cdfbbc2b77c988548b81df6e1d9f202582.tar.gz talos-hostboot-c578a6cdfbbc2b77c988548b81df6e1d9f202582.zip |
Add more error info for Bootloader verification errors
Change-Id: I1407e74360a4e4fd6b931add1a676f349f907318
RTC: 171325
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40815
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/bootloader')
-rw-r--r-- | src/bootloader/bootloader.C | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/src/bootloader/bootloader.C b/src/bootloader/bootloader.C index 408b27c09..78300ea63 100644 --- a/src/bootloader/bootloader.C +++ b/src/bootloader/bootloader.C @@ -220,21 +220,44 @@ namespace Bootloader{ &l_hw_parms); if (l_rc != 0) { + // Get first 4 bytes of Container that failed verification + uint32_t l_beginContainer = 0; + memcpy(&l_beginContainer, i_pContainer, + sizeof(l_beginContainer)); + + // Get first 4 bytes of system's hw keys' hash + uint32_t l_beginHwKeysHash = 0; + memcpy(&l_beginHwKeysHash, g_blData->blToHbData.hwKeysHash, + sizeof(l_beginHwKeysHash)); + + // Read SBE HB shared data. + const auto l_blConfigData = reinterpret_cast< + BootloaderConfigData_t *>(SBE_HB_COMM_ADDR); + // Verification of Container failed. BOOTLOADER_TRACE(BTLDR_TRC_MAIN_VERIFY_FAIL); /*@ * @errortype * @moduleid Bootloader::MOD_BOOTLOADER_VERIFY * @reasoncode SECUREBOOT::RC_ROM_VERIFY - * @userdata1 ROM return code - * @userdata2 ROM_hw_params log + * @userdata1[0:15] TI_WITH_SRC + * @userdata1[16:31] TI_BOOTLOADER + * @userdata1[32:63] Failing address = 0 + * @userdata2[0:31] First 4 bytes System's HW keys' Hash + * @userdata2[32:63] First 4 bytes of Container Header + * @errorInfo[0:15] SBE Boot Side + * @errorInfo[16:31] ROM_hw_params log * @devdesc ROM verification failed * @custdesc Platform security violation detected */ bl_terminate(MOD_BOOTLOADER_VERIFY, SECUREBOOT::RC_ROM_VERIFY, - l_rc, - l_hw_parms.log); + l_beginHwKeysHash, + l_beginContainer, + true, + 0, + TWO_UINT16_TO_UINT32(l_blConfigData->sbeBootSide, + l_hw_parms.log)); } |