summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
index 613fb1b6..85d6a724 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c
@@ -652,6 +652,12 @@ p9_cme_stop_exit()
PK_TRACE_INF("SX4.P: S-Reset All Core Threads to Run Self Restore Image");
CME_PUTSCOM(DIRECT_CONTROLS, core,
BIT64(4) | BIT64(12) | BIT64(20) | BIT64(28));
+ sync();
+
+ PK_TRACE("Poll for instruction running before drop pm_exit");
+
+ while((~(in32_sh(CME_LCL_SISR))) & (core << SHIFT64SH(47)));
+
//==========================
MARK_TRAP(SX_SRESET_THREADS)
OpenPOWER on IntegriCloud