summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep14/call_mss_memdiag.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep14/call_mss_memdiag.C')
-rw-r--r--src/usr/isteps/istep14/call_mss_memdiag.C42
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);
OpenPOWER on IntegriCloud