diff options
author | Yue Du <daviddu@us.ibm.com> | 2018-02-06 21:40:06 -0600 |
---|---|---|
committer | hostboot <hostboot@us.ibm.com> | 2018-03-22 14:04:07 -0500 |
commit | 47cbe0a34c97136c98227f353c71d678e11a8dc7 (patch) | |
tree | cbcda00d765a9dba50bc6966b88e54305ceb91f2 /import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c | |
parent | 7754948e126027ed7481ccf2de401ca0141b5f69 (diff) | |
download | talos-hcode-47cbe0a34c97136c98227f353c71d678e11a8dc7.tar.gz talos-hcode-47cbe0a34c97136c98227f353c71d678e11a8dc7.zip |
STOP: Block Wakeup Mode Fixes for Phyp
1) fix L3 Purge Abort in Block Wakeup mode put quad in undefined state
2) fix stop11 wakeup being converted to stop5 wakeup during Block Wakeup
3) fix some bugs between Special Wakeup and Block Wakeup mode.
4) fix racing decrementor wakeup being serviced in Block Wakeup mode
Key_Cronus_Test=PM_REGRESS
Change-Id: I391e6f820c0e9842fc737a1aa5e2ece8e94105bc
CQ: SW416538
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53514
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Reviewed-by: YUE DU <daviddu@us.ibm.com>
Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Cronus HW CI <cronushw-ci+hostboot@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
Diffstat (limited to 'import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c')
-rw-r--r-- | import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c index e130cca4..93d72e5f 100644 --- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c +++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_threads.c @@ -74,6 +74,9 @@ p9_cme_stop_eval_eimr_override() ((((~G_cme_record.core_enabled) | G_cme_stop_record.core_running | G_cme_stop_record.core_errored) & CME_MASK_BC) << SHIFT32(15)) | +#else + ((((~G_cme_stop_record.core_running) & + G_cme_stop_record.core_blockwu) & CME_MASK_BC) << SHIFT32(15)) | #endif ((((~G_cme_record.core_enabled) | G_cme_stop_record.core_running | @@ -82,6 +85,7 @@ p9_cme_stop_eval_eimr_override() ((((~G_cme_record.core_enabled) | (~G_cme_stop_record.core_running) | G_cme_stop_record.core_errored | + G_cme_stop_record.core_in_spwu | G_cme_stop_record.core_blockey) & CME_MASK_BC) << SHIFT32(21)); g_eimr_override |= mask_irqs.value; |