summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep08/call_host_attnlisten_proc.C
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2018-09-25 14:05:36 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-10-23 11:44:55 -0500
commita45ace1ec733a7a3f17988715a43e06c1cc414f5 (patch)
tree9e2881af1c5704b2913319275e096fb9cf81278b /src/usr/isteps/istep08/call_host_attnlisten_proc.C
parentc9d3c11613e9a47cf380b0cc60900eeb419d5e72 (diff)
downloadtalos-hostboot-a45ace1ec733a7a3f17988715a43e06c1cc414f5.tar.gz
talos-hostboot-a45ace1ec733a7a3f17988715a43e06c1cc414f5.zip
Send Attn chip list for monitoring
Need to let ATTN know that they need to start monitoring non-primary processors and centaurs after we determine they are functional. Change-Id: Ia33ddc87a94c0ca972accb2d6078c2f9f2e7bd2c CQ: SW446697 CMVC-Prereq: 1070543 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66717 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: Christian R Geddes <crgeddes@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep08/call_host_attnlisten_proc.C')
-rw-r--r--src/usr/isteps/istep08/call_host_attnlisten_proc.C37
1 files changed, 36 insertions, 1 deletions
diff --git a/src/usr/isteps/istep08/call_host_attnlisten_proc.C b/src/usr/isteps/istep08/call_host_attnlisten_proc.C
index c2b3b40a3..ec301ee45 100644
--- a/src/usr/isteps/istep08/call_host_attnlisten_proc.C
+++ b/src/usr/isteps/istep08/call_host_attnlisten_proc.C
@@ -39,6 +39,7 @@
#include <errl/errlentry.H>
#include <initservice/isteps_trace.H>
#include <initservice/initserviceif.H>
+#include <initservice/istepdispatcherif.H>
#include <initservice/initsvcreasoncodes.H>
#include <sys/time.h>
#include <devicefw/userif.H>
@@ -62,6 +63,34 @@ using namespace TARGETING;
namespace ISTEP_08
{
+/**
+ * @brief Send a list of functional procs that ATTN can start monitoring
+ * for checkstop analysis
+ */
+void send_analyzable_procs(void)
+{
+ errlHndl_t l_err = nullptr;
+ std::vector<TARGETING::ATTR_HUID_type> l_chipHuids;
+
+ // get all functional Proc targets
+ TARGETING::TargetHandleList l_procsList;
+ getAllChips(l_procsList, TYPE_PROC);
+
+ // now fill in the list with proc huids
+ for (const auto & l_cpu_target : l_procsList)
+ {
+ l_chipHuids.push_back(TARGETING::get_huid(l_cpu_target));
+ }
+
+ // send the message to alert ATTN to start monitoring these chips
+ l_err = INITSERVICE::sendAttnMonitorChipIdMsg(l_chipHuids);
+ if (l_err)
+ {
+ errlCommit(l_err, ISTEP_COMP_ID);
+ }
+}
+
+
//******************************************************************************
// call_host_attnlisten_proc()
//******************************************************************************
@@ -69,7 +98,6 @@ void* call_host_attnlisten_proc(void *io_pArgs)
{
IStepError l_stepError;
-
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_attnlisten_proc entry" );
@@ -77,6 +105,13 @@ void* call_host_attnlisten_proc(void *io_pArgs)
// to write FIRs due to blacklist violations. All of the slave
// processor attentions will be ignored until the SMP comes up.
+ // Send list of functional procs that ATTN
+ // can start monitoring for checkstop analysis
+ if( INITSERVICE::spBaseServicesEnabled() )
+ {
+ send_analyzable_procs();
+ }
+
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_host_attnlisten_proc exit" );
return l_stepError.getErrorHandle();
OpenPOWER on IntegriCloud