summaryrefslogtreecommitdiffstats
path: root/src/usr/util/runtime
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2017-09-29 12:55:43 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-10-20 09:07:29 -0400
commit691a96a53eb439daabf243763b6c56a76891c573 (patch)
treea3b22596997308cd567e1e96e4979dfb9e550460 /src/usr/util/runtime
parent3b73246002f677ac22998c3e19c7435aa613ab6b (diff)
downloadtalos-hostboot-691a96a53eb439daabf243763b6c56a76891c573.tar.gz
talos-hostboot-691a96a53eb439daabf243763b6c56a76891c573.zip
Enable OCC on ZZ with Opal
Change-Id: I656c47d2468c8c31509b80492709b0f651b85b42 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/47008 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: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/util/runtime')
-rw-r--r--src/usr/util/runtime/utillidmgr_rt.C24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/usr/util/runtime/utillidmgr_rt.C b/src/usr/util/runtime/utillidmgr_rt.C
index f1cc8606a..338f22b87 100644
--- a/src/usr/util/runtime/utillidmgr_rt.C
+++ b/src/usr/util/runtime/utillidmgr_rt.C
@@ -34,6 +34,7 @@
#include <secureboot/containerheader.H>
#include <trace/interface.H>
#include "../utilbase.H"
+#include <util/utillidpnor.H>
UtilLidMgr::UtilLidMgr(uint32_t i_lidId) :
iv_isLidInPnor(false), iv_lidBuffer(nullptr), iv_lidSize(0),
@@ -131,6 +132,7 @@ errlHndl_t UtilLidMgr::releaseLidImage(void)
errlHndl_t UtilLidMgr::loadLid()
{
if (nullptr != iv_lidBuffer) return nullptr;
+ UTIL_FT("UtilLidMgr::loadLid");
const char* l_addr = nullptr;
size_t l_size = 0;
@@ -140,8 +142,13 @@ errlHndl_t UtilLidMgr::loadLid()
{
if(iv_isLidInHbResvMem)
{
+ UTIL_FT("UtilLidMgr::loadLid> iv_isLidInHbResvMem=true");
iv_lidBuffer = reinterpret_cast<void*>(g_hostInterfaces->
- get_reserved_mem(PNOR::SectionIdToString(iv_lidPnorInfo.id),0));
+ get_reserved_mem(
+ PNOR::SectionIdToString(
+ Util::getLidPnorSection(
+ static_cast<Util::LidId>(iv_lidId))),
+ 0));
// If nullptr returned, set size to 0 to indicate we could not find
// the lid in HB resv memory
@@ -172,6 +179,7 @@ errlHndl_t UtilLidMgr::loadLid()
{
// If no secure header, just use PNOR size
iv_lidSize = iv_lidPnorInfo.size;
+ UTIL_FT("UtilLidMgr::loadLid - iv_lidSize=%d", iv_lidSize );
// Need to increment past header if one exists
if (iv_lidPnorInfo.sha512Version)
@@ -181,12 +189,15 @@ errlHndl_t UtilLidMgr::loadLid()
iv_lidBuffer = static_cast<uint8_t*>(iv_lidBuffer) +
PAGESIZE;
iv_lidSize -= PAGESIZE;
+ UTIL_FT("UtilLidMgr::loadLid - iv_lidSize=%d",
+ iv_lidSize );
}
}
}
}
else if(iv_isLidInVFS)
{
+ UTIL_FT("UtilLidMgr::loadLid> iv_isLidInVFS=true");
l_errl = VFS::module_address(iv_lidFileName, l_addr, l_size);
if (l_errl)
{
@@ -198,12 +209,14 @@ errlHndl_t UtilLidMgr::loadLid()
}
else if (iv_isLidInPnor)
{
+ UTIL_FT("UtilLidMgr::loadLid> iv_isLidInPnor=true");
iv_lidSize = iv_lidPnorInfo.size;
iv_lidBuffer = reinterpret_cast<char *>(iv_lidPnorInfo.vaddr);
}
else if( g_hostInterfaces->lid_load
&& iv_spBaseServicesEnabled )
{
+ UTIL_FT("UtilLidMgr::loadLid> Calling lid_load(0x%.8X)", iv_lidId);
int rc = g_hostInterfaces->lid_load(iv_lidId, &iv_lidBuffer,
&iv_lidSize);
if (0 != rc)
@@ -284,6 +297,7 @@ errlHndl_t UtilLidMgr::cleanup()
void UtilLidMgr::updateLid(uint32_t i_lidId)
{
+ UTIL_FT("UtilLidMgr::updateLid - i_lidId=0x%.8X", i_lidId);
iv_lidId = i_lidId;
// First check if lid is already in hostboot reserved memory
@@ -330,14 +344,6 @@ const uint32_t * UtilLidMgr::getLidList(size_t * o_num)
bool UtilLidMgr::lidInHbResvMem(const uint32_t i_lidId) const
{
- // @TODO CQ:SW400352 Remove this when fsp adds in PNOR support
- // hostboot could not verify it from pnor, so it is not in hb resv meomory
- if (iv_spBaseServicesEnabled &&
- (i_lidId == Util::OCC_LIDID || i_lidId == Util::OCC_CONTAINER_LIDID))
- {
- return false;
- }
-
return i_lidId == Util::OCC_LIDID ||
i_lidId == Util::OCC_CONTAINER_LIDID ||
i_lidId == Util::WOF_LIDID ||
OpenPOWER on IntegriCloud