summaryrefslogtreecommitdiffstats
path: root/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2018-01-05 15:16:14 -0600
committerhostboot <hostboot@us.ibm.com>2018-03-22 14:04:05 -0500
commit554ec892997079d31d094a9eba17c987ef5e2690 (patch)
treee5c72dee985064f5bdbbe2d9ac3e44bf28d5972d /import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c
parentce536633f434aeb4331470e6030f47abf82ebd8b (diff)
downloadtalos-hcode-554ec892997079d31d094a9eba17c987ef5e2690.tar.gz
talos-hcode-554ec892997079d31d094a9eba17c987ef5e2690.zip
STOP: Fix Phantom PCWU causing CME IOTA to halt
Key_Cronus_Test=PM_REGRESS Change-Id: I6d87f34d2fb9be52f0221be3d7dd682aeca652ce CQ: SW413313 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51568 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com> Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c')
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c
index e4296eef..f565108b 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_irq_handlers.c
@@ -49,8 +49,9 @@ p9_cme_stop_pcwu_handler(void)
MARK_TRAP(STOP_PCWU_HANDLER)
PK_TRACE_INF("PCWU Handler Trigger: Core Interrupts %x", core);
+ out32(CME_LCL_EISR_CLR, (G_cme_stop_record.core_running << SHIFT32(13)));
g_eimr_override |= ((uint64_t)G_cme_stop_record.core_running << SHIFT64(13));
- core &= ~(G_cme_stop_record.core_running);
+ core &= (~G_cme_stop_record.core_running);
for (core_mask = 2; core_mask; core_mask--)
{
@@ -81,7 +82,7 @@ p9_cme_stop_pcwu_handler(void)
// if still wakeup for core with notify_select == cme, go exit
if (core)
{
- PK_TRACE_INF("Launching exit thread");
+ PK_TRACE_INF("PCWU Launching exit thread");
out32(CME_LCL_EIMR_OR, BITS32(12, 10));
wrteei(1);
@@ -172,7 +173,7 @@ p9_cme_stop_spwu_handler(void)
if (spwu_rise)
{
- PK_TRACE_INF("Launching exit thread");
+ PK_TRACE_INF("SPWU Launching exit thread");
out32(CME_LCL_EIMR_OR, BITS32(12, 10));
wrteei(1);
OpenPOWER on IntegriCloud