diff options
| author | Brian Vanderpool <vanderp@us.ibm.com> | 2017-03-03 13:57:37 -0600 |
|---|---|---|
| committer | Joshua Hunsberger <jahunsbe@us.ibm.com> | 2017-10-23 17:12:35 -0500 |
| commit | 01ba056574cc1e55d71a3595d9dfd3e0c023fafd (patch) | |
| tree | 726c71cf681a218aa058c84624f0c3b312091cd2 | |
| parent | b3c302bb3c0e42f9b74e11fc7ee42a97a127c344 (diff) | |
| download | talos-hcode-01ba056574cc1e55d71a3595d9dfd3e0c023fafd.tar.gz talos-hcode-01ba056574cc1e55d71a3595d9dfd3e0c023fafd.zip | |
Enable CME IAR trace and remove stall events from trace
Change-Id: I1557b7e1eded7df56fec20d862421d0d881d79aa
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/37481
Reviewed-by: Michael S. Floyd <mfloyd@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: AMIT KUMAR <akumar3@us.ibm.com>
Reviewed-by: Gregory S. Still <stillgs@us.ibm.com>
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h | 1 | ||||
| -rw-r--r-- | import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c | 10 |
2 files changed, 8 insertions, 3 deletions
diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h index 6e9d1df8..5bcf2b86 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop.h @@ -205,6 +205,7 @@ enum SGPE_STOP_EVENT_LEVELS enum SGPE_STOP_CME_FLAGS { + CME_TRACE_ENABLE = BIT32(4), CME_EX1_INDICATOR = BIT32(26), CME_SIBLING_FUNCTIONAL = BIT32(27), CME_CORE0_ENTRY_FIRST = BIT32(28), diff --git a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c index 77729fbf..e756ad0e 100644 --- a/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c +++ b/import/chips/p9/procedures/ppe_closed/sgpe/stop_gpe/p9_sgpe_stop_exit.c @@ -757,7 +757,7 @@ p9_sgpe_stop_exit() // 7: LCL_EN_WAIT_CYCLES // 8: LCL_EN_FULL_SPEED // inst: 3D20C000 | addis r9, 0, 0xC000 | R9 = 0xC0000000 - // inst: 3C208F80 | addis r1, 0, 0x8F80 | R1 = 0x8F800000 + // inst: 3C208F80 | addis r1, 0, 0x8F80 | R1 = 0x88800000 // inst: 90290120 | stw r1, 0x120(r9) | 0xC0000120 = R1 // // 1. The trace array has to be stopped to configure it @@ -787,8 +787,9 @@ p9_sgpe_stop_exit() sgpeHeader_t* pSgpeImgHdr = (sgpeHeader_t*)(OCC_SRAM_SGPE_HEADER_ADDR); - if (pSgpeImgHdr->g_sgpe_reserve_flags & BIT32(4)) + if (pSgpeImgHdr->g_sgpe_reserve_flags & CME_TRACE_ENABLE) { + // Stop the trace to configure it GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(DEBUG_TRACE_CONTROL, qloop), BIT64(1)); for (ex_mask = 2; ex_mask; ex_mask--) @@ -799,7 +800,7 @@ p9_sgpe_stop_exit() GPE_PUTSCOM(GPE_SCOM_ADDR_EX(CME_SCOM_XIRAMEDR, qloop, ex_index), 0x3D20C00000000000); GPE_PUTSCOM(GPE_SCOM_ADDR_EX(CME_SCOM_XIRAMEDR, qloop, ex_index), - 0x3C208F8000000000); + 0x3C20888000000000); GPE_PUTSCOM(GPE_SCOM_ADDR_EX(CME_SCOM_XIRAMEDR, qloop, ex_index), 0x9029012000000000); @@ -823,6 +824,9 @@ p9_sgpe_stop_exit() qloop), BITS64(33, 2)); } } + + // Start the trace + GPE_PUTSCOM(GPE_SCOM_ADDR_QUAD(DEBUG_TRACE_CONTROL, qloop), BIT64(0)); } if (in32(OCB_OCCS2) & BIT32(CME_DEBUG_TRAP_ENABLE)) |

