diff options
author | Stephen Cprek <smcprek@us.ibm.com> | 2017-01-03 12:29:49 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-02-01 17:25:56 -0500 |
commit | 2e898b1a6eb2c8322e8b50a206464addecfd6734 (patch) | |
tree | b6b25d58d474d0b874dc58b528ce947f0b8d1358 /src/include | |
parent | 51ab7d511392a76f8fc00a98998f73f2dbb5c3a3 (diff) | |
download | talos-hostboot-2e898b1a6eb2c8322e8b50a206464addecfd6734.tar.gz talos-hostboot-2e898b1a6eb2c8322e8b50a206464addecfd6734.zip |
Verify HBB in HBBL using ROM code
Puts ROM code into the HBBL image page aligned after
the end of HBBL
Change-Id: I1a07dd912c07557b2a43dfbadc5394a7d212c841
RTC: 143902
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/34293
Tested-by: Jenkins Server <pfd-jenkins+hostboot@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: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/bootloader/bootloader_trace.H | 18 | ||||
-rw-r--r-- | src/include/bootloader/hbblreasoncodes.H | 1 | ||||
-rw-r--r-- | src/include/securerom/ROM.H | 6 |
3 files changed, 19 insertions, 6 deletions
diff --git a/src/include/bootloader/bootloader_trace.H b/src/include/bootloader/bootloader_trace.H index 8f8ab8da3..93b937308 100644 --- a/src/include/bootloader/bootloader_trace.H +++ b/src/include/bootloader/bootloader_trace.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* Contributors Listed Below - COPYRIGHT 2015,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -60,11 +60,18 @@ enum BootloaderTraces /** Bootloader main removeECC returned */ BTLDR_TRC_MAIN_REMOVEECC_RTN = 0x13, - /** Bootloader main applySecureSignatureValidation returned */ - BTLDR_TRC_MAIN_APPLYSECSIGVAL_RTN = 0x14, + // @TODO RTC:167740 remove magic number check once fsp/op signs HBB + /** Bootloader main verifyBaseImage skip verification - no magic number */ + BTLDR_TRC_MAIN_VERIFY_HBB_SKIP = 0x14, + + /** Bootloader main verifyBaseImage started */ + BTLDR_TRC_MAIN_VERIFY_HBB_START = 0x15, + + /** Bootloader main verifyBaseImage succeeded */ + BTLDR_TRC_MAIN_VERIFY_HBB_SUCCESS = 0x16, /** Bootloader main copy HBB to running location done */ - BTLDR_TRC_MAIN_COPY_HBB_DONE = 0x15, + BTLDR_TRC_MAIN_COPY_HBB_DONE = 0x17, /** Bootloader handleMMIO started */ BTLDR_TRC_HANDLEMMIO_START = 0x20, @@ -161,6 +168,9 @@ enum BootloaderTraces /** Bootloader PNOR Access getHBBSection findTOC no HBB section */ BTLDR_TRC_PA_GETHBBSECTION_FINDTOC_NOHBB = 0xFA, + + /** Bootloader main verifyBaseImage failed */ + BTLDR_TRC_MAIN_VERIFY_HBB_FAIL = 0xFB, }; #ifndef BOOTLOADER_TRACE diff --git a/src/include/bootloader/hbblreasoncodes.H b/src/include/bootloader/hbblreasoncodes.H index 10a6ebbf5..2b2ee0010 100644 --- a/src/include/bootloader/hbblreasoncodes.H +++ b/src/include/bootloader/hbblreasoncodes.H @@ -47,6 +47,7 @@ namespace Bootloader MOD_BOOTLOADER_MAIN = 0x02, /**< bootloader.C : main */ MOD_PNORACC_READTOC = 0x03, /**< bl_pnorAccess.C : read TOC */ MOD_PNORACC_GETHBBSECT = 0x04, /**< bl_pnorAccess.C : get HBB sect */ + MOD_BOOTLOADER_VERIFY = 0x05, /**< bootloader.C : verifyContainer */ }; diff --git a/src/include/securerom/ROM.H b/src/include/securerom/ROM.H index b8ace6e71..4a47b2502 100644 --- a/src/include/securerom/ROM.H +++ b/src/include/securerom/ROM.H @@ -154,11 +154,13 @@ extern "C" * * @param[in] void* Address of function offset into Secure ROM * @param[in] ROM_container_raw* Pointer to effective address of container - * @param[in] ROM_hw_params* HW params to pass in. Includes HW keys' hash + * @param[in/out] ROM_hw_params* HW params to pass in (including HW keys' hash) + * Additionally, error information is written to + * the HW params log. * * @return ROM_response ROM_DONE on sucess ROM_FAILURE otherwise */ -ROM_response call_rom_verify(void*, ROM_container_raw*, ROM_hw_params*); +ROM_response call_rom_verify(void*, const ROM_container_raw*, ROM_hw_params*); /** * @brief Call rom SHA512 code |