summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep16
diff options
context:
space:
mode:
authorMatt Derksen <v2cibmd@us.ibm.com>2016-10-18 14:52:26 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-10-30 22:46:40 -0400
commit77266ae1de28c7e5547aaefc177f14f2519b06e1 (patch)
tree0e55f56d2ca3620709460b2719c3c728e8cc0f89 /src/usr/isteps/istep16
parenta6f34cd9b2c79e803e564b917951b63f9252d02a (diff)
downloadtalos-hostboot-77266ae1de28c7e5547aaefc177f14f2519b06e1.tar.gz
talos-hostboot-77266ae1de28c7e5547aaefc177f14f2519b06e1.zip
istep16: Call p9_dump_stop_info() HWP when a core fails to activate.
Change-Id: I64b29db7d15e1dc5f4e39127b6142b458d0e82ae RTC:147376 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31469 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep16')
-rw-r--r--src/usr/isteps/istep16/call_host_activate_slave_cores.C73
-rw-r--r--src/usr/isteps/istep16/makefile1
2 files changed, 42 insertions, 32 deletions
diff --git a/src/usr/isteps/istep16/call_host_activate_slave_cores.C b/src/usr/isteps/istep16/call_host_activate_slave_cores.C
index 9658aafe0..17d91360f 100644
--- a/src/usr/isteps/istep16/call_host_activate_slave_cores.C
+++ b/src/usr/isteps/istep16/call_host_activate_slave_cores.C
@@ -43,6 +43,7 @@
#include <fapi2/plat_hwp_invoker.H>
#include <p9_cpu_special_wakeup.H>
+#include <p9_dump_stop_info.H>
using namespace ERRORLOG;
using namespace TARGETING;
@@ -56,7 +57,7 @@ void* call_host_activate_slave_cores (void *io_pArgs)
{
IStepError l_stepError;
-// errlHndl_t l_timeout_errl = NULL;
+ errlHndl_t l_timeout_errl = NULL;
errlHndl_t l_errl = NULL;
@@ -122,30 +123,39 @@ void* call_host_activate_slave_cores (void *io_pArgs)
rc,
pir);
-//@TODO RTC:147376
-//Spoke with Thi and he said this is not planned for awhile
-//FAPI_INVOKE_HWP( l_timeout_errl, proc_check_slw_done,
-//l_fapi2_ex_target);
-// if (l_timeout_errl)
-// {
-// TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
-// "ERROR : proc_check_slw_done" );
-// // Add chip target info
-// ErrlUserDetailsTarget(l_processor).addToLog(
-// l_timeout_errl );
-// // Create IStep error log
-// l_stepError.addErrorDetails(l_timeout_errl);
-// // Commit error
-// errlCommit( l_timeout_errl, HWPF_COMP_ID );
-// break;
-// }
-// else
-// {
-// TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
-// "SUCCESS : proc_check_slw_done - "
-// "SLW is in clean state");
-// }
- }
+ // only called if the core doesn't report in
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
+ l_fapi2ProcTarget(
+ const_cast<TARGETING::Target*>(l_processor) );
+
+ TARGETING::ATTR_FAPI_NAME_type l_targName = {0};
+ fapi2::toString( l_fapi2ProcTarget,
+ l_targName,
+ sizeof(l_targName) );
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Call p9_dump_stop_info on processor %s", l_targName );
+
+ FAPI_INVOKE_HWP( l_timeout_errl,
+ p9_dump_stop_info,
+ l_fapi2ProcTarget );
+
+ if (l_timeout_errl)
+ {
+ TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace,
+ "ERROR : p9_dump_stop_info" );
+
+ // Add chip target info
+ ErrlUserDetailsTarget(l_processor).addToLog(l_timeout_errl);
+
+ // Create IStep error log
+ l_stepError.addErrorDetails(l_timeout_errl);
+
+ // Commit error
+ errlCommit( l_timeout_errl, HWPF_COMP_ID );
+ }
+ } // End of handle time out error
+
// Create error log
if (0 != rc)
{
@@ -165,13 +175,12 @@ void* call_host_activate_slave_cores (void *io_pArgs)
* @devdesc Kernel returned error when trying to activate
* core.
*/
- errlHndl_t l_errl =
- new ERRORLOG::ErrlEntry(
- ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- MOD_HOST_ACTIVATE_SLAVE_CORES,
- RC_BAD_RC,
- pir,
- rc );
+ l_errl = new ERRORLOG::ErrlEntry(
+ ERRORLOG::ERRL_SEV_UNRECOVERABLE,
+ MOD_HOST_ACTIVATE_SLAVE_CORES,
+ RC_BAD_RC,
+ pir,
+ rc );
// Callout core that failed to wake up.
l_errl->addHwCallout(*l_core,
diff --git a/src/usr/isteps/istep16/makefile b/src/usr/isteps/istep16/makefile
index fea36913a..cc18acae3 100644
--- a/src/usr/isteps/istep16/makefile
+++ b/src/usr/isteps/istep16/makefile
@@ -46,6 +46,7 @@ OBJS += call_host_ipl_complete.o
include ${ROOTPATH}/procedure.rules.mk
include ${PROCEDURES_PATH}/hwp/pm/p9_block_wakeup_intr.mk
+include ${PROCEDURES_PATH}/hwp/pm/p9_dump_stop_info.mk
include ${PROCEDURES_PATH}/hwp/perv/p9_switch_cfsim.mk
include ${PROCEDURES_PATH}/hwp/perv/p9_switch_rec_attn.mk
include ${PROCEDURES_PATH}/hwp/nest/p9_rng_init_phase2.mk
OpenPOWER on IntegriCloud