summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorStephen Cprek <smcprek@us.ibm.com>2017-02-28 09:59:17 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-03-17 17:24:15 -0400
commit551ba04c02d56b669a93b0e3fc62b0633cf844c9 (patch)
tree994d6464586bc433aa7ab313e2eb7259c827ab66 /src/kernel
parente32262ef84b7e4d688308b35dfefa296cf14fc6c (diff)
downloadtalos-hostboot-551ba04c02d56b669a93b0e3fc62b0633cf844c9.tar.gz
talos-hostboot-551ba04c02d56b669a93b0e3fc62b0633cf844c9.zip
Consume Secure Access Bit from SBE HB communication area
Disable verification in bootloader if SAB not set Change-Id: If5f1adcbe0277f2a4223d8cea6a5e2048019871d RTC: 167741 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37214 Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/bltohbdatamgr.C24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/kernel/bltohbdatamgr.C b/src/kernel/bltohbdatamgr.C
index f165ae87b..a0af449a8 100644
--- a/src/kernel/bltohbdatamgr.C
+++ b/src/kernel/bltohbdatamgr.C
@@ -52,17 +52,23 @@ void BlToHbDataManager::validAssert() const
void BlToHbDataManager::print() const
{
+ printkd("\nBlToHbData (all addr HRMOR relative):\n");
+
+ if(iv_data.version >= Bootloader::BLTOHB_SAB)
+ {
+ printkd("-- secureAccessBit = 0x%X\n", iv_data.secureAccessBit);
+ }
if(iv_dataValid)
{
- printkd("\nBlToHbData (all addr HRMOR relative):\n");
printkd("-- eyeCatch = 0x%lX (%s)\n", iv_data.eyeCatch,
reinterpret_cast<char*>(&iv_data.eyeCatch));
printkd("-- version = 0x%lX\n", iv_data.version);
printkd("-- branchtableOffset = 0x%lX\n", iv_data.branchtableOffset);
printkd("-- SecureRom Addr = 0x%lX Size = 0x%lX\n", getSecureRomAddr(),
iv_data.secureRomSize);
- printkd("-- HW keys' Hash Addr = 0x%lX Size = 0x%lX\n", getHwKeysHashAddr(),
- iv_data.hwKeysHashSize);
+ printkd("-- HW keys' Hash Addr = 0x%lX Size = 0x%lX\n",
+ getHwKeysHashAddr(),
+ iv_data.hwKeysHashSize);
printkd("-- HBB header Addr = 0x%lX Size = 0x%lX\n", getHbbHeaderAddr(),
iv_data.hbbHeaderSize);
printkd("-- Reserved Size = 0x%lX\n", iv_preservedSize);
@@ -116,6 +122,12 @@ void BlToHbDataManager::initValid (const Bootloader::BlToHbData& i_data)
iv_data.hbbHeader = i_data.hbbHeader;
iv_data.hbbHeaderSize = i_data.hbbHeaderSize;
+ // Ensure Bootloader to HB structure has the SAB member
+ if(iv_data.version >= Bootloader::BLTOHB_SAB)
+ {
+ iv_data.secureAccessBit = i_data.secureAccessBit;
+ }
+
// Size of data that needs to be preserved and pinned.
iv_preservedSize = ALIGN_PAGE(iv_data.secureRomSize +
iv_data.hwKeysHashSize +
@@ -199,6 +211,12 @@ const size_t BlToHbDataManager::getHbbHeaderSize() const
return iv_data.hbbHeaderSize;
}
+const bool BlToHbDataManager::getSecureAccessBit() const
+{
+ validAssert();
+ return iv_data.secureAccessBit;
+}
+
const size_t BlToHbDataManager::getPreservedSize() const
{
validAssert();
OpenPOWER on IntegriCloud