diff options
| author | Stephen Cprek <smcprek@us.ibm.com> | 2017-02-28 09:59:17 -0600 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-03-17 17:24:15 -0400 |
| commit | 551ba04c02d56b669a93b0e3fc62b0633cf844c9 (patch) | |
| tree | 994d6464586bc433aa7ab313e2eb7259c827ab66 /src/kernel | |
| parent | e32262ef84b7e4d688308b35dfefa296cf14fc6c (diff) | |
| download | talos-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.C | 24 |
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(); |

