summaryrefslogtreecommitdiffstats
path: root/src/usr/diag
diff options
context:
space:
mode:
authorBrian Stegmiller <bjs@us.ibm.com>2016-07-21 15:25:02 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-07-31 16:14:37 -0400
commit1f1e263edc891398fabb3ac18c609198419ef2b7 (patch)
tree93d4a6c9f525a14d613dfa8db40e3d1b6b34f751 /src/usr/diag
parent5df2675372b378275cfe7e3b83d3663fed2fd21a (diff)
downloadtalos-hostboot-1f1e263edc891398fabb3ac18c609198419ef2b7.tar.gz
talos-hostboot-1f1e263edc891398fabb3ac18c609198419ef2b7.zip
Limit checkForIplAttentions to master in early IPL
Change-Id: I74f3c6c00fdb7ea30bdf06d4be37c1a717fc6210 RTC: 154658 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27342 Tested-by: Jenkins Server <pfd-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/diag')
-rw-r--r--src/usr/diag/attn/ipl/attn.C37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/usr/diag/attn/ipl/attn.C b/src/usr/diag/attn/ipl/attn.C
index 8e5543e74..dac127d56 100644
--- a/src/usr/diag/attn/ipl/attn.C
+++ b/src/usr/diag/attn/ipl/attn.C
@@ -39,6 +39,7 @@
#include "common/attnmem.H"
#include <util/singleton.H>
#include <errl/errlmanager.H>
+#include <targeting/common/targetservice.H>
// Custom compile configs
#include <config.h>
@@ -72,9 +73,41 @@ errlHndl_t checkForIplAttentions()
assert(!Singleton<Service>::instance().running());
- TargetHandleList list;
+ TargetHandleList list;
+ uint8_t l_useAllProcs = 0;
+ TARGETING::Target *l_MasterProcTarget = NULL;
+ TARGETING::Target *l_sys = NULL;
+
+
+ // ------------------------------------------------
+ // NOTE: ATTN code overrides TARGETING code for
+ // testing purposes. However for this case
+ // of getting an attribute, we can just
+ // modify the attribute for testing.
+ // For the master proc, I don't think we
+ // really need to alter it for testing.
+ // ------------------------------------------------
+
+ // We have an ATTRIBUTE that indicates all procs
+ // or just the master proc.
+ TARGETING::targetService().getTopLevelTarget( l_sys );
+ assert(l_sys != NULL);
+ l_sys->tryGetAttr<ATTR_ATTN_CHK_ALL_PROCS>(l_useAllProcs);
+
+
+ // Do we want to check ALL procs ?
+ if (0 == l_useAllProcs)
+ {
+ // Just the master (so early IPL)
+ TARGETING::targetService().masterProcChipTargetHandle(
+ l_MasterProcTarget);
+ list.push_back(l_MasterProcTarget);
+ } // end if just master proc
+ else
+ {
+ getTargetService().getAllChips(list, TYPE_PROC);
+ } // end else ALL procs
- getTargetService().getAllChips(list, TYPE_PROC);
TargetHandleList::iterator tit = list.begin();
OpenPOWER on IntegriCloud