summaryrefslogtreecommitdiffstats
path: root/src/include/usr/sbe
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2018-07-03 09:29:59 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-07-06 23:26:48 -0400
commita76fe8f24e07ab143cdd8591983c12925eae281a (patch)
tree6fea8349987aeed1ab8d84af47a246735eb575a3 /src/include/usr/sbe
parentea5c84fe7741f94fb1198483f9e833fcaae202e5 (diff)
downloadblackbird-hostboot-a76fe8f24e07ab143cdd8591983c12925eae281a.tar.gz
blackbird-hostboot-a76fe8f24e07ab143cdd8591983c12925eae281a.zip
Read HW Key Hash From SBE Seeprom via ChipOp when applicable
This commit uses SBEIO ChipOps to read the HW Key Hash from the SBE Seeprom when reading from the Seeprom that booted the processor. This will help avoid I2C collisions when both Hostboot and the SBE try to access the same SBE Seeprom at the same time. Change-Id: I5693cc59aa2a7259f07363328bd8513c943f0a06 CQ:SW435288 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61958 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include/usr/sbe')
-rw-r--r--src/include/usr/sbe/sbe_common.H1
-rw-r--r--src/include/usr/sbe/sbe_update.H1
-rw-r--r--src/include/usr/sbe/sbeif.H10
3 files changed, 9 insertions, 3 deletions
diff --git a/src/include/usr/sbe/sbe_common.H b/src/include/usr/sbe/sbe_common.H
index 359335e66..15f623c24 100644
--- a/src/include/usr/sbe/sbe_common.H
+++ b/src/include/usr/sbe/sbe_common.H
@@ -158,6 +158,7 @@ namespace SBE
static_assert(0 == (sizeof(sbeSeepromVersionInfo_t) % 8),
"sbeSeepromVersionInfo_t is not 8-byte-aligned");
+ typedef uint8_t sbe_image_version_t[SBE_IMAGE_VERSION_SIZE];
/**
* @brief Struct of individual SBE entry in SBE
diff --git a/src/include/usr/sbe/sbe_update.H b/src/include/usr/sbe/sbe_update.H
index 82b535ddc..d907e57c9 100644
--- a/src/include/usr/sbe/sbe_update.H
+++ b/src/include/usr/sbe/sbe_update.H
@@ -26,7 +26,6 @@
#define __SBE_SBE_UPDATE_H
#include <sbe/sbe_common.H> // sbeSeepromVersionInfo_t
-#include <sbe/sbeif.H> // sbe_image_version_t
#include <stdint.h> // uint32_t, etc
#include <errl/errlentry.H> // errlHndl_t
diff --git a/src/include/usr/sbe/sbeif.H b/src/include/usr/sbe/sbeif.H
index 1768f2aa9..0a5985253 100644
--- a/src/include/usr/sbe/sbeif.H
+++ b/src/include/usr/sbe/sbeif.H
@@ -26,6 +26,7 @@
#define _SBEIF_H
#include <sbe/sbe_common.H>
+#include <sbe/sbe_update.H>
#include <errl/errlentry.H>
#include <pnor/pnorif.H>
#include <secureboot/service.H>
@@ -33,8 +34,6 @@
namespace SBE
{
- typedef uint8_t sbe_image_version_t[SBE_IMAGE_VERSION_SIZE];
-
/**
* @brief Gets a pointer to the proper SBE image in PNOR
*
@@ -115,6 +114,12 @@ namespace SBE
* NOTE: Ignored if i_image_ptr specifies an image
* (ie, != nullptr).
*
+ *
+ * @param[in] i_bootSide Designates which Seeprom the processor booted on.
+ * If i_bootSide and i_seeprom match then ChipOps
+ * will be used to read the Seeprom to avoid I2C
+ * collisions.
+ *
* @param[out] o_hash HW Key Hash returned from the Processor SEEPROM
*
* @param[in] i_image_ptr Defaults to nullptr.
@@ -127,6 +132,7 @@ namespace SBE
*/
errlHndl_t getHwKeyHashFromSbeImage(TARGETING::Target* i_target,
EEPROM::eeprom_chip_types_t i_seeprom,
+ sbeSeepromSide_t i_bootSide,
SHA512_t o_hash,
const void * i_image_ptr = nullptr);
OpenPOWER on IntegriCloud