From 1377ee62f599997dd84ccf8a15993265ea944f72 Mon Sep 17 00:00:00 2001 From: Yue Du Date: Mon, 27 Mar 2017 15:53:54 -0500 Subject: STOP: speed up self restore by droping pm_exit after instr running Change-Id: I6234bdcf4dffc4c4c86b80187566eeacec16bc30 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38486 Tested-by: Jenkins Server Reviewed-by: Michael S. Floyd Reviewed-by: AMIT KUMAR Reviewed-by: Jennifer A. Stofer --- .../chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_exit.c | 6 ++++++ 1 file changed, 6 insertions(+) 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) -- cgit v1.2.3