diff options
Diffstat (limited to 'src/usr/isteps/pm/pm_common.C')
-rw-r--r-- | src/usr/isteps/pm/pm_common.C | 32 |
1 files changed, 28 insertions, 4 deletions
diff --git a/src/usr/isteps/pm/pm_common.C b/src/usr/isteps/pm/pm_common.C index 376ec0278..a4c197621 100644 --- a/src/usr/isteps/pm/pm_common.C +++ b/src/usr/isteps/pm/pm_common.C @@ -82,6 +82,7 @@ #include <p9_stop_api.H> #include <scom/scomif.H> #include <p9_quad_scom_addresses.H> +#include <secureboot/smf_utils.H> #ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS @@ -242,6 +243,15 @@ namespace HBPM l_config_data->firMaster = 0; #endif + if (SECUREBOOT::SMF::isSmfEnabled()) + { + l_config_data->smfMode = SMF_MODE_ENABLED; + } + else + { + l_config_data->smfMode = SMF_MODE_DISABLED; + } + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, EXIT_MRK"loadHostDataToHomer: RC=0x%X, PLID=0x%lX", ERRL_GETRC_SAFE(l_errl), ERRL_GETPLID_SAFE(l_errl) ); @@ -275,9 +285,23 @@ namespace HBPM do { - bool l_isNimbus = (i_target->getAttr<ATTR_MODEL>() == MODEL_NIMBUS); - uint32_t l_lidId = (l_isNimbus) ? Util::NIMBUS_HCODE_LIDID - : Util::CUMULUS_HCODE_LIDID; + uint32_t l_lidId = 0; + auto l_model = i_target->getAttr<ATTR_MODEL>(); + switch( l_model ) + { + case(MODEL_AXONE): + // Axone just reuses the Nimbus LIDID since it is only + // used to lookup a common partition in PNOR + case(MODEL_NIMBUS): + l_lidId = Util::NIMBUS_HCODE_LIDID; + break; + case(MODEL_CUMULUS): + l_lidId = Util::CUMULUS_HCODE_LIDID; + break; + default: + assert(false,"Unsupported proc type"); + } + if(g_pHcodeLidMgr.get() == nullptr) { g_pHcodeLidMgr = std::shared_ptr<UtilLidMgr> @@ -1005,7 +1029,7 @@ namespace HBPM #if defined(__HOSTBOOT_RUNTIME) && defined(CONFIG_NVDIMM) // Notify PHYP that NVDIMMs are not protected from power off event - l_errl = NVDIMM::notifyNvdimmProtectionChange(i_target, NVDIMM::NOT_PROTECTED); + l_errl = NVDIMM::notifyNvdimmProtectionChange(i_target, NVDIMM::OCC_INACTIVE); if (l_errl) { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, |