summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep21/call_host_runtime_setup.C
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2019-11-04 21:45:12 -0600
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-11-19 23:31:41 -0600
commitd432c4503559abd127ebd170891a50da3ce2683d (patch)
tree65fb2d08b89e496b5b0a182cd55309ed42e72f56 /src/usr/isteps/istep21/call_host_runtime_setup.C
parente3870cb85913e2a92843e157427f68ef86e566f8 (diff)
downloadtalos-hostboot-d432c4503559abd127ebd170891a50da3ce2683d.tar.gz
talos-hostboot-d432c4503559abd127ebd170891a50da3ce2683d.zip
Fix auto-arming NVDIMMs for ESS systems
ESS requires HB to arm the NVDIMMs during IPL after PM complex is started. Requires moving the nvdimmArm() and associated functions from nvdimm_rt.C to nvdimm.C. Change-Id: Ie7fd08b27ad7959b21086f0f291764c2156e5bd9 CQ:SW479909 CMVC-Prereq:1096403 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86489 Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Roland Veloz <rveloz@us.ibm.com> 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: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep21/call_host_runtime_setup.C')
-rw-r--r--src/usr/isteps/istep21/call_host_runtime_setup.C18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/usr/isteps/istep21/call_host_runtime_setup.C b/src/usr/isteps/istep21/call_host_runtime_setup.C
index 55d46e1d3..bc6a9d69e 100644
--- a/src/usr/isteps/istep21/call_host_runtime_setup.C
+++ b/src/usr/isteps/istep21/call_host_runtime_setup.C
@@ -68,6 +68,7 @@
#ifdef CONFIG_NVDIMM
#include "call_nvdimm_update.H"
+#include <isteps/nvdimm/nvdimm.H>
#endif
using namespace ERRORLOG;
@@ -736,6 +737,19 @@ void* call_host_runtime_setup (void *io_pArgs)
errlCommit(l_err, ISTEP_COMP_ID);
pmStartSuccess = false;
}
+ else
+ {
+#ifdef CONFIG_NVDIMM
+ // Arm the nvdimms
+ // Only get here if is_sapphire_load and PM started and have NVDIMMs
+ TARGETING::TargetHandleList l_nvdimmTargetList;
+ NVDIMM::nvdimm_getNvdimmList(l_nvdimmTargetList);
+ if (l_nvdimmTargetList.size() != 0)
+ {
+ NVDIMM::nvdimmArm(l_nvdimmTargetList);
+ }
+#endif
+ }
#ifdef CONFIG_HTMGT
// Report PM status to HTMGT
@@ -767,7 +781,7 @@ void* call_host_runtime_setup (void *io_pArgs)
uint8_t l_skip_fir_attr_reset = 1;
// Since we are not leaving the PM complex alive, we will
// explicitly put it into reset and clean up any memory
- l_err = HBPM::resetPMAll(HBPM::RESET_AND_CLEAR_ATTRIBUTES,
+ l_err = HBPM::resetPMAll(HBPM::RESET_AND_CLEAR_ATTRIBUTES,
l_skip_fir_attr_reset);
if (l_err)
{
@@ -846,7 +860,7 @@ void* call_host_runtime_setup (void *io_pArgs)
break;
}
}
-
+
// Update the MDRT Count and PDA Table Entries from Attribute
TargetService& l_targetService = targetService();
Target* l_sys = nullptr;
OpenPOWER on IntegriCloud