summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Still <stillgs@us.ibm.com>2018-06-11 10:00:25 -0500
committerhostboot <hostboot@us.ibm.com>2018-08-22 17:55:51 -0500
commit1dcc359d6da60cf309bababe0ac0ea6232f26146 (patch)
tree74509a93b312b33cd49dd0550b72383f03fbcc2a
parent0b555c46d817fe7cde4b4258826e66a9f239c1a1 (diff)
downloadtalos-hcode-1dcc359d6da60cf309bababe0ac0ea6232f26146.tar.gz
talos-hcode-1dcc359d6da60cf309bababe0ac0ea6232f26146.zip
PM: clear Hcode error injection bits upon injection and malf alert
- Also deals with PM callout order issue with the malf alert assertion Key_Cronus_Test=PM_REGRESS Change-Id: I1c2da3210aaeaff115a67dd8a17d09b39467bbf7 Original-Change-Id: I78b41c59d09369c60891beb41ff9debc986e59b4 CQ: SW434547 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60316 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
-rwxr-xr-ximport/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c2
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h1
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c2
3 files changed, 5 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
index 281c35fa..db55ec4d 100755
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
@@ -1377,6 +1377,8 @@ p9_cme_stop_entry()
if( BIT64(CPPM_CSAR_STOP_HCODE_ERROR_INJECT) & scom_data.value )
{
+ // Clear the injection so things are not permenently stuck
+ CME_PUTSCOM(CPPM_CSAR_CLR, core, BIT64(CPPM_CSAR_STOP_HCODE_ERROR_INJECT));
PK_TRACE_DBG("CME STOP ENTRY ERROR INJECT TRAP");
PK_PANIC(CME_STOP_ENTRY_TRAP_INJECT);
}
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
index d4ef5dff..6365b932 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h
@@ -80,6 +80,7 @@ extern uint32_t G_OCB_OCCFLG;
extern uint32_t G_OCB_OCCFLG_CLR;
extern uint32_t G_OCB_OCCFLG_OR;
extern uint32_t G_OCB_OCCFLG2;
+extern uint32_t G_OCB_OCCFLG2_CLR;
extern uint32_t G_OCB_OCCS2;
extern uint32_t G_OCB_OISR0_CLR;
extern uint32_t G_OCB_OISR1;
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c
index 2c92bdb4..10ddfb34 100644
--- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c
+++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c
@@ -71,6 +71,8 @@ p9_sgpe_stop_entry()
if( in32(G_OCB_OCCFLG2) & BIT32(OCCFLG2_SGPE_HCODE_STOP_REQ_ERR_INJ))
{
+ // Clear the injection so things are not permenently stuck
+ out32(G_OCB_OCCFLG2_CLR, BIT32(OCCFLG2_SGPE_HCODE_STOP_REQ_ERR_INJ));
PK_TRACE_ERR("SGPE STOP ENTRY ERROR INJECT TRAP");
PK_PANIC(SGPE_STOP_ENTRY_TRAP_INJECT);
}
OpenPOWER on IntegriCloud