diff options
author | Ilya Smirnov <ismirno@us.ibm.com> | 2019-03-28 08:32:24 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-04-12 12:12:41 -0500 |
commit | d1d3f44dd9394894efd35b822c33ce36a6d01392 (patch) | |
tree | 1a4b83b5540eaf5edb612ddf6a347e5e8fc54897 /src/usr/runtime | |
parent | a9addc3db4f8940ca38fb63c99fcab26126c88f0 (diff) | |
download | talos-hostboot-d1d3f44dd9394894efd35b822c33ce36a6d01392.tar.gz talos-hostboot-d1d3f44dd9394894efd35b822c33ce36a6d01392.zip |
SMF: New Ultravisor White/Blacklist Handling
New procedure to call the SBE chip op to pass the SBE
the address at which it will populate the Ultravisor
XSCOM white/blacklist. The white/blacklist is also included
in hostboot reserved memory and is passed to HDAT.
Change-Id: If28854a73fa521297084bdee391fab95aa4f9a8a
RTC: 192422
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75238
Tested-by: Jenkins Server <pfd-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>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/runtime')
-rw-r--r-- | src/usr/runtime/populate_hbruntime.C | 26 | ||||
-rw-r--r-- | src/usr/runtime/preverifiedlidmgr.C | 7 |
2 files changed, 31 insertions, 2 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C index 764404804..371c3bee8 100644 --- a/src/usr/runtime/populate_hbruntime.C +++ b/src/usr/runtime/populate_hbruntime.C @@ -1697,7 +1697,6 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId, bool i_master_node) } } - // Also add unsecure HOMER to the reserved mem if in SMF mode if(SECUREBOOT::SMF::isSmfEnabled()) { auto l_unsecureHomerSize = l_sys-> @@ -1729,6 +1728,31 @@ errlHndl_t populate_HbRsvMem(uint64_t i_nodeId, bool i_master_node) { break; } + + // Now get the UVBWLIST from the SBE + uint64_t l_uvbwlistAddr = + PreVerifiedLidMgr::getNextResMemAddr(UVBWLIST_SIZE); + assert(l_uvbwlistAddr, + "populate_HbRsvMem: Ultravisor XSCOM white/blacklist address is 0"); + TRACFCOMP(g_trac_runtime, + "populate_HbRsvMem: Ultravisor XSCOM white/blacklist address = 0x%.16llX", + l_uvbwlistAddr); + l_elog =SBEIO::sendPsuSecurityListBinDumpRequest(l_uvbwlistAddr, + l_masterProc); + if(l_elog) + { + break; + } + + l_elog = setNextHbRsvMemEntry(HDAT::RHB_TYPE_UVBWLIST, + i_nodeId, + l_uvbwlistAddr, + UVBWLIST_SIZE, + HBRT_RSVD_MEM__UVBWLIST); + if(l_elog) + { + break; + } } } } while(0); diff --git a/src/usr/runtime/preverifiedlidmgr.C b/src/usr/runtime/preverifiedlidmgr.C index 95d122fee..7b6fe6e09 100644 --- a/src/usr/runtime/preverifiedlidmgr.C +++ b/src/usr/runtime/preverifiedlidmgr.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017,2018 */ +/* Contributors Listed Below - COPYRIGHT 2017,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -596,3 +596,8 @@ errlHndl_t PreVerifiedLidMgr::loadImage(const uint64_t i_imgAddr, return l_errl; } + +uint64_t PreVerifiedLidMgr::getNextResMemAddr(const size_t i_size) +{ + return Singleton<PreVerifiedLidMgr>::instance().getNextAddress(i_size); +} |