summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYue Du <daviddu@us.ibm.com>2017-07-26 11:20:08 -0500
committerJoshua Hunsberger <jahunsbe@us.ibm.com>2017-10-23 18:36:15 -0500
commit9fca6d5c7ee4674732abea1d438e6f7d1c76792a (patch)
treeca6fbbc73f726eb2809ef1151e2f40de12c73e24
parent0917495d25ba0f0b56efc9bc7e02e4d551972c2e (diff)
downloadtalos-hcode-9fca6d5c7ee4674732abea1d438e6f7d1c76792a.tar.gz
talos-hcode-9fca6d5c7ee4674732abea1d438e6f7d1c76792a.zip
STOP: Fix DISABLE_STOP8 broken HB in NDD1
Change-Id: I97f6e4134ba6d5fbd7f47dda1f5dd4061e12c234 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43648 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Brian T. Vanderpool <vanderp@us.ibm.com> Reviewed-by: BRIAN D. VICTOR <brian.d.victor1@ibm.com> Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
-rw-r--r--import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h1
-rwxr-xr-ximport/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c8
-rw-r--r--import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_entry.c8
3 files changed, 7 insertions, 10 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h b/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h
index b83b89ee..d29a8de2 100644
--- a/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h
+++ b/import/chips/p9/procedures/ppe_closed/cme/pk_app_cfg.h
@@ -40,7 +40,6 @@
// Function disablement
-#define DISABLE_STOP8 1
#define DISABLE_CME_DUAL_CAST 0
// --------------------
diff --git a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
index 30c4b1b5..735d6f7d 100755
--- a/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
+++ b/import/chips/p9/procedures/ppe_closed/cme/stop_cme/p9_cme_stop_entry.c
@@ -372,15 +372,7 @@ p9_cme_stop_entry()
G_cme_stop_record.req_level[core_index] = STOP_LEVEL_8;
}
-#if DISABLE_STOP8
-
- if (1 &&
-
-#else
-
if ((pCmeImgHdr->g_cme_mode_flags & CME_STOP_8_TO_5_BIT_POS) &&
-
-#endif
(G_cme_stop_record.req_level[core_index] >= STOP_LEVEL_8 &&
G_cme_stop_record.req_level[core_index] < STOP_LEVEL_11))
{
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 1ae17f43..be9c42ce 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
@@ -125,7 +125,13 @@ p9_sgpe_stop_entry()
#if DISABLE_STOP8
- G_sgpe_stop_record.group.ex01[qloop] |= BOTH_EXES_IN_QUAD;
+ ocb_qssr_t qssr = {0};
+ qssr.value = in32(OCB_QSSR);
+
+ // check qssr for already stopped ex
+ G_sgpe_stop_record.group.ex01[qloop] =
+ (((~qssr.value) & BITS32((qloop << 1), 2)) >>
+ SHIFT32(((qloop << 1) + 1)));
#endif
OpenPOWER on IntegriCloud