summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2017-11-20 16:56:44 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-18 17:27:59 -0500
commit9ae6e9595f9773d295b7e3ade47088f554c1ed48 (patch)
treef33427b681154991423fb9faad3476bf4aa17ff4 /src/include
parent8392e4f606607e505bb99de2a8d229ae69be5efe (diff)
downloadtalos-hostboot-9ae6e9595f9773d295b7e3ade47088f554c1ed48.tar.gz
talos-hostboot-9ae6e9595f9773d295b7e3ade47088f554c1ed48.zip
Remove Secure Boot workarounds
- Removing the magic number checks that would block sb functionality if things didn't appear secure - Remove Best Effort Policy and all of its related code - Remove the legacy PCR extension - Remove the non-secure header preservation path. - Always load HB base image header from the bl to hb data path vs settings unsecurely out of pnor Change-Id: Ie638384ac50ed47850985c959ea7a32e5757d64e RTC: 178520 RTC: 155374 RTC: 173489 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49925 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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.H6
-rw-r--r--src/include/usr/pnor/pnorif.H45
-rw-r--r--src/include/usr/secureboot/header.H26
-rw-r--r--src/include/usr/secureboot/service.H6
-rw-r--r--src/include/usr/secureboot/settings.H11
5 files changed, 5 insertions, 89 deletions
diff --git a/src/include/bootloader/bootloader_trace.H b/src/include/bootloader/bootloader_trace.H
index 18b5417bf..313afbada 100644
--- a/src/include/bootloader/bootloader_trace.H
+++ b/src/include/bootloader/bootloader_trace.H
@@ -68,11 +68,7 @@ enum BootloaderTraces
/** Bootloader main copy HBB to running location done */
BTLDR_TRC_MAIN_COPY_HBB_DONE = 0x16,
- /** Bootloader main verifyContainer skip verification - no eyecatch */
- BTLDR_TRC_MAIN_VERIFY_NO_EYECATCH = 0x17,
-
- /** Bootloader main verifyContainer skip verification - no magic number */
- BTLDR_TRC_MAIN_VERIFY_NO_MAGIC_NUM = 0x18,
+ /** Unused hole from previously used traces */
/** Bootloader main verifyContainer skip verification - SAB unset */
BTLDR_TRC_MAIN_VERIFY_SAB_UNSET = 0x19,
diff --git a/src/include/usr/pnor/pnorif.H b/src/include/usr/pnor/pnorif.H
index 1c35ec852..cef8617fd 100644
--- a/src/include/usr/pnor/pnorif.H
+++ b/src/include/usr/pnor/pnorif.H
@@ -36,9 +36,6 @@
namespace PNOR
{
-// @TODO RTC:155374 Remove this in the future
-extern const size_t BEST_EFFORT_NUM_BYTES;
-
/**
* Information about a side of PNOR
*/
@@ -228,48 +225,6 @@ const char * SectionIdToString( uint32_t i_secIdIndex );
*/
bool cmpSecurebootMagicNumber(const uint8_t* i_vaddr);
-// @TODO RTC 173489
-// Remove API once FSP fully supports signing of PNOR sections that did not
-// previously have a sha512 header
-/**
- * @brief Determines whether requested PNOR section has a recognized header
- *
- * @param[in] i_secId ID of requested section
- * @param[in] i_TOC TOC entry for requested section
- * @param[out] o_knownHeader Whether header was recognized or not
- *
- * @return errlHndl_t Error log handle
- * @retval nullptr Success! Output parameter valid
- * @retval !nullptr Error log pointer; output parameter invalid
- */
-errlHndl_t hasKnownHeader(
- PNOR::SectionId i_secId,
- const PNOR::SectionData_t& i_TOC,
- bool& o_knownHeader);
-
-// @TODO RTC 173489
-// Remove API once FSP fully supports signing of PNOR sections that did not
-// previously have a sha512 header
-/**
- * @brief Read first few bytes of requested section's "potential" header
- *
- * @param[in] i_secId ID of requested section
- * @param[in] i_TOC TOC entry for requested section
- * @param[in] i_size Number of bytes to read from the beginning of the
- * requested section
- * @param[in] o_pData Pointer to a buffer of at least "i_size" bytes to
- * hold the returned data. Asserts if nullptr
- *
- * @return errlHndl_t Error log handle
- * @retval nullptr Success! Requested bytes read to output buffer
- * @retval !nullptr Error log pointer; output buffer invalid
- */
-errlHndl_t readHeaderMagic(
- PNOR::SectionId i_secId,
- const PNOR::SectionData_t& i_TOC,
- size_t i_size,
- void* o_pData);
-
/**
* @brief Determine if a PNOR section is empty by checking if first PAGE
* is all 0xFF's or 0x00's depending on ECC or not.
diff --git a/src/include/usr/secureboot/header.H b/src/include/usr/secureboot/header.H
index 0478fa675..eff1f6769 100644
--- a/src/include/usr/secureboot/header.H
+++ b/src/include/usr/secureboot/header.H
@@ -59,34 +59,14 @@ namespace SECUREBOOT
iv_data=NULL;
}
- // @TODO RTC 178520 Converge to single method of reading
- // secure header
-
/**
* @brief Extracts base image (HBB) header (ECC removed) from
- * security area preserved across the bootloader to HBB
- * handoff to support extending HBB measurements to TPM in
- * secure mode.
+ * area preserved across the bootloader to HBB handoff to
+ * support extending HBB measurements to TPM
*
* @warning Asserts if header is already cached (code bug)
*/
- void loadSecurely();
-
- // @TODO RTC 178520 Converge to single method of reading
- // secure header
-
- /**
- * @brief Caches non-secure PNOR copy of the base image (HBB)
- * header (ECC removed) to support extending HBB measurements
- * to TPM in non-secure mode.
- *
- * @param[in] i_pHeader Pointer to non-secure 4k HBB header
- * extracted from PNOR.
- *
- * @warning Carries all the same warnings as _set
- */
- void setNonSecurely(
- const void* i_pHeader);
+ void loadHeader();
/**
* @brief Return pointer to base image (HBB) header.
diff --git a/src/include/usr/secureboot/service.H b/src/include/usr/secureboot/service.H
index 638c23505..dc1fd5a78 100644
--- a/src/include/usr/secureboot/service.H
+++ b/src/include/usr/secureboot/service.H
@@ -330,12 +330,6 @@ namespace SECUREBOOT
*/
bool allowAttrOverrides();
- /* Definition in settings.H */
- bool bestEffortPolicy();
-
- /* Definition in securerommgr.H */
- bool secureRomValidPolicy();
-
/*
* @brief Gets the current SBE security mode value from the secureboot
* subsystem
diff --git a/src/include/usr/secureboot/settings.H b/src/include/usr/secureboot/settings.H
index 491c607d3..417e14d96 100644
--- a/src/include/usr/secureboot/settings.H
+++ b/src/include/usr/secureboot/settings.H
@@ -90,8 +90,7 @@ namespace SECUREBOOT
class Settings
{
public:
- Settings() : iv_enabled(false),
- iv_bestEffortPolicy(false) { _init(); };
+ Settings() : iv_enabled(false) { _init(); };
~Settings() {};
/** @brief Determine if Secureboot is enabled. */
@@ -136,13 +135,6 @@ namespace SECUREBOOT
TARGETING::Target* i_pProc
= TARGETING::MASTER_PROCESSOR_CHIP_TARGET_SENTINEL) const;
- /** @brief Determines if the Secureboot best effort policy is
- * enabled. Uses knowledge of compile config options and
- * secure mode enabled
- * @return bool - True if enabled, false otherwise
- */
- bool getBestEffortPolicy() const;
-
private:
void _init();
@@ -192,7 +184,6 @@ namespace SECUREBOOT
/** Cached secure boot enabled value */
bool iv_enabled;
- bool iv_bestEffortPolicy;
};
}
OpenPOWER on IntegriCloud