diff options
author | Matt Derksen <mderkse1@us.ibm.com> | 2018-09-25 14:05:36 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-10-23 11:44:55 -0500 |
commit | a45ace1ec733a7a3f17988715a43e06c1cc414f5 (patch) | |
tree | 9e2881af1c5704b2913319275e096fb9cf81278b /src/usr/isteps/istep08/call_host_attnlisten_proc.C | |
parent | c9d3c11613e9a47cf380b0cc60900eeb419d5e72 (diff) | |
download | talos-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.C | 37 |
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(); |