summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime
diff options
context:
space:
mode:
authorRick Ward <rward15@us.ibm.com>2018-03-06 09:46:52 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-03-22 14:12:09 -0400
commita48f950445f16417996399d0630b485b84c1203c (patch)
treeec56124075f66fc901559b5d5ae3a4c3c54e5b5e /src/usr/runtime
parentbbe9dd41d809fa8c9c02b318ca4b0f315c4680ac (diff)
downloadtalos-hostboot-a48f950445f16417996399d0630b485b84c1203c.tar.gz
talos-hostboot-a48f950445f16417996399d0630b485b84c1203c.zip
Dump collection should only be run on the master node and skipped on slaves.
Added an attribute, IS_MASTER_DRAWER, and a utility function, isCurrentMasterNode(). The attribute is set in host_sys_fab_iovalid_processing which is called during istep 18.9. isCurrentMasterNode() is called by call_host_mpipl_service() to ensure that memory dump collection is only performed on the master node during a MPIPL. Change-Id: I7fd48476c3cd7cf4697eafed6705d158a9c54dcf RTC: 116089 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55162 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: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Michael Baiocchi <mbaiocch@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
1 files changed, 13 insertions, 13 deletions
diff --git a/src/usr/runtime/populate_hbruntime.C b/src/usr/runtime/populate_hbruntime.C
index 43f5f5f15..529f1b3aa 100644
--- a/src/usr/runtime/populate_hbruntime.C
+++ b/src/usr/runtime/populate_hbruntime.C
@@ -2843,16 +2843,6 @@ errlHndl_t populate_hbRuntimeData( void )
do {
TRACFCOMP(g_trac_runtime, "Running populate_hbRuntimeData");
- TARGETING::Target * sys = nullptr;
- TARGETING::targetService().getTopLevelTarget( sys );
- assert(sys != nullptr);
-
- TARGETING::ATTR_HB_EXISTING_IMAGE_type hb_images =
- sys->getAttr<TARGETING::ATTR_HB_EXISTING_IMAGE>();
-
- TRACFCOMP( g_trac_runtime, "ATTR_HB_EXISTING_IMAGE (hb_images) = %x",
- hb_images);
-
// Figure out which node we are running on
TARGETING::Target* mproc = nullptr;
TARGETING::targetService().masterProcChipTargetHandle(mproc);
@@ -2865,13 +2855,23 @@ errlHndl_t populate_hbRuntimeData( void )
uint64_t nodeid = pe.instance;
- TRACFCOMP( g_trac_runtime, "Master node nodid = %x",
- nodeid);
+ TRACFCOMP( g_trac_runtime, "Master node nodeid = %x",
+ nodeid);
// ATTR_HB_EXISTING_IMAGE only gets set on a multi-drawer system.
// Currently set up in host_sys_fab_iovalid_processing() which only
// gets called if there are multiple physical nodes. It eventually
// needs to be setup by a hb routine that snoops for multiple nodes.
+ TARGETING::Target * sys = nullptr;
+ TARGETING::targetService().getTopLevelTarget( sys );
+ assert(sys != nullptr);
+
+ TARGETING::ATTR_HB_EXISTING_IMAGE_type hb_images =
+ sys->getAttr<TARGETING::ATTR_HB_EXISTING_IMAGE>();
+
+ TRACFCOMP( g_trac_runtime, "ATTR_HB_EXISTING_IMAGE (hb_images) = %x",
+ hb_images);
+
if (0 == hb_images) //Single-node
{
if( !TARGETING::is_no_load() )
@@ -2966,7 +2966,7 @@ errlHndl_t populate_hbRuntimeData( void )
TARGETING::ATTR_HB_EXISTING_IMAGE_type mask = 0x1 <<
((sizeof(TARGETING::ATTR_HB_EXISTING_IMAGE_type) * 8) -1);
- TRACFCOMP( g_trac_runtime, "HB_EXISTING_IMAGE (mask) = %#x",
+ TRACFCOMP( g_trac_runtime, "HB_EXISTING_IMAGE (mask) = %x",
mask);
for (uint64_t l_node=0; (l_node < MAX_NODES_PER_SYS); l_node++ )
OpenPOWER on IntegriCloud