diff options
| author | Yue Du <daviddu@us.ibm.com> | 2018-02-06 21:40:06 -0600 |
|---|---|---|
| committer | hostboot <hostboot@us.ibm.com> | 2018-08-22 17:55:38 -0500 |
| commit | 6394ad5d5d443c6b5bf41addd470a9b98ce322fa (patch) | |
| tree | 12e763e901ea23b2c75f449b946811aae5cf3b24 /import | |
| parent | 23df9c72f52330e1f45e87bd47b1fdc92c4179a2 (diff) | |
| download | talos-hcode-6394ad5d5d443c6b5bf41addd470a9b98ce322fa.tar.gz talos-hcode-6394ad5d5d443c6b5bf41addd470a9b98ce322fa.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: Ia0c360c1a5c8f52129b0cbb3c939585f9af0710b
Original-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')
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c index 8128b59f..e5f19ce5 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c @@ -699,7 +699,9 @@ p9_sgpe_stop_entry() #if !SKIP_L3_PURGE_ABORT - if (in32(OCB_OISR1) & (BITS32(15, 2) | BIT32(19))) + if ((in32(OCB_OISR1) & (BITS32(15, 2) | BIT32(19))) && + // Skip L3 Purge Abort check if in Block Wakeup mode + (!(G_sgpe_stop_record.group.quad[VECTOR_BLOCKX] & BIT32(qloop)))) { PK_TRACE("Abort: interrupt detected"); |

