Skip to content

Commit

Permalink
p9_sbe_tracearray -- satsify PRD calls to manage core trace arrays
Browse files Browse the repository at this point in the history
As a carryover from prior projects, PRD code currently contains logic which
attempts to restart the core trace arrays (via the SBE HWP) after processing
a recoverable error emitted from the core.

The current HWP flags an error in this case (indicating that the core
trace arrays are not SCOM retrievable, which is true for all levels of p9).
This generates a customer visible error log with a FW type callout, which
is undesirable.

This patch is intended to satisfy the current PRD call which intends to reset
and start the core traces, without triggering the check mentioned above or
attempting to access non-implemented SCOM registers.

Ultimately it should have no effect on the actual core tracing, which is
managed on p9 by non-SCOM accessible logic in PC.  I confirmed with Jim Bishop
that the PC logic will not stop tracing on recoverable errors, so there should
be no exposure.

Change-Id: I77e47f71d18b6a3a762ab52b0f6b42d022153f3b
CQ: SW418341
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54857
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Kevin F. Reick <reick@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54862
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
jjmcgill authored and dcrowell77 committed Mar 8, 2018
1 parent 8e01c68 commit 4d23f68
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions src/import/chips/p9/procedures/hwp/perv/p9_sbe_tracearray.C
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand Down Expand Up @@ -412,8 +412,7 @@ fapi2::ReturnCode p9_sbe_tracearray(
}
}

/* Nimbus DD1 core traces can't be read out via SCOM.
* Check an EC feature to see if that's fixed. */
/* check that core trace arrays can be logged out, based on EC feature attribute */
if (ta_type == fapi2::TARGET_TYPE_CORE)
{
uint8_t l_core_trace_not_scomable = 0;
Expand All @@ -425,7 +424,9 @@ fapi2::ReturnCode p9_sbe_tracearray(
"Failed to query chip EC feature "
"ATTR_CHIP_EC_FEATURE_CORE_TRACE_NOT_SCOMABLE");

FAPI_ASSERT(!l_core_trace_not_scomable, fapi2::PROC_GETTRACEARRAY_CORE_NOT_DUMPABLE()
FAPI_ASSERT(!l_core_trace_not_scomable ||
!i_args.collect_dump,
fapi2::PROC_GETTRACEARRAY_CORE_NOT_DUMPABLE()
.set_TARGET(i_target).set_TRACE_BUS(i_args.trace_bus),
"Core arrays cannot be dumped in this chip EC; please use fastarray instead.");
}
Expand Down Expand Up @@ -454,8 +455,10 @@ fapi2::ReturnCode p9_sbe_tracearray(
}
}

/* Check that the trace mux is set up as expected */
if (!i_args.ignore_mux_setting)
/* confirm the mux setting unless we are not dumping, or explicitly
instructed to skip the check */
if (!i_args.ignore_mux_setting &&
i_args.collect_dump)
{
fapi2::buffer<uint64_t> buf;
FAPI_TRY(fapi2::getScom(target,
Expand Down

0 comments on commit 4d23f68

Please sign in to comment.