diff options
Diffstat (limited to 'src/usr/isteps/istep14/call_mss_memdiag.C')
-rw-r--r-- | src/usr/isteps/istep14/call_mss_memdiag.C | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/src/usr/isteps/istep14/call_mss_memdiag.C b/src/usr/isteps/istep14/call_mss_memdiag.C index 38736d2c7..4c4c6b5b2 100644 --- a/src/usr/isteps/istep14/call_mss_memdiag.C +++ b/src/usr/isteps/istep14/call_mss_memdiag.C @@ -33,14 +33,21 @@ #include <util/misc.H> #include <plat_hwp_invoker.H> // for FAPI_INVOKE_HWP -#include <lib/shared/nimbus_defaults.H> // Needed before memdiags_fir.H -#include <lib/fir/memdiags_fir.H> // for mss::unmask::after_memdiags +#include <lib/shared/nimbus_defaults.H> // Needed before unmask.H +#include <lib/fir/unmask.H> // for mss::unmask::after_memdiags #include <lib/mc/port.H> // for mss::reset_reorder_queue_settings #if defined(CONFIG_IPLTIME_CHECKSTOP_ANALYSIS) && !defined(__HOSTBOOT_RUNTIME) #include <isteps/pm/occCheckstop.H> #endif +// TODO RTC:245219 +// use PRD's version of memdiags instead of this cronus verison once its working +#ifdef CONFIG_AXONE +#include <exp_mss_memdiag.H> +#include <chipids.H> // for EXPLORER ID +#endif + using namespace ISTEP; using namespace ISTEP_ERROR; using namespace ERRORLOG; @@ -161,6 +168,37 @@ void* call_mss_memdiag (void* io_pArgs) // No need to unmask or turn off FIFO. That is already contained // within the other Centaur HWPs. } +#ifdef CONFIG_AXONE + else if (MODEL_AXONE == procType ) + { + // no need to run in simics + if ( Util::isSimicsRunning() == false ) + { + // TODO RTC:245219 + // use PRD's version of memdiags instead of this cronus verison once its working + TargetHandleList trgtList; getAllChips( trgtList, TYPE_OCMB_CHIP ); + for (const auto & l_ocmb_target : trgtList) + { + uint32_t chipId = l_ocmb_target->getAttr< TARGETING::ATTR_CHIP_ID>(); + // Only call memdiags on Explorer cards, it breaks when you run on Gemini + if (chipId == POWER_CHIPID::EXPLORER_16) + { + fapi2::Target <fapi2::TARGET_TYPE_OCMB_CHIP> l_fapi_ocmb_target(l_ocmb_target); + // Start Memory Diagnostics. + FAPI_INVOKE_HWP( errl, exp_mss_memdiag, l_fapi_ocmb_target ); + if ( nullptr != errl ) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "exp_mss_memdiag (0x%08x) " + "failed", get_huid(l_ocmb_target) ); + break; + } + } + } + } + + } +#endif } while (0); |