summaryrefslogtreecommitdiffstats
path: root/import
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2018-02-06 21:40:06 -0600
committerhostboot <hostboot@us.ibm.com>2018-08-22 17:55:38 -0500
commit6394ad5d5d443c6b5bf41addd470a9b98ce322fa (patch)
tree12e763e901ea23b2c75f449b946811aae5cf3b24 /import
parent23df9c72f52330e1f45e87bd47b1fdc92c4179a2 (diff)
downloadtalos-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.c4
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");
OpenPOWER on IntegriCloud