summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2019-03-28 08:32:24 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-04-12 12:12:41 -0500
commitd1d3f44dd9394894efd35b822c33ce36a6d01392 (patch)
tree1a4b83b5540eaf5edb612ddf6a347e5e8fc54897 /src/usr/runtime
parenta9addc3db4f8940ca38fb63c99fcab26126c88f0 (diff)
downloadtalos-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.C26
-rw-r--r--src/usr/runtime/preverifiedlidmgr.C7
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);
+}
OpenPOWER on IntegriCloud