diff options
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c | 6 |
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) |

