From 9c4be0da9b51bbaa8e71cf20acc68368a39b5c75 Mon Sep 17 00:00:00 2001 From: Christian Geddes Date: Tue, 29 Oct 2019 10:48:26 -0500 Subject: [PATCH] Only call memdiags on Explorer ocmb chips We should only call memdiags on the Explorer ocmb chips because it will fail if we attempt to call it on the Gemini chips. Gemini chips will boot fine without this step being called. Change-Id: I50645db29b17d4dc93de9c1e5f7b419e5dea6f0d Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86159 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Glenn Miles Reviewed-by: Ilya Smirnov Reviewed-by: Nicholas E Bofferding Reviewed-by: Roland Veloz Reviewed-by: Daniel M Crowell --- src/usr/isteps/istep14/call_mss_memdiag.C | 24 ++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/usr/isteps/istep14/call_mss_memdiag.C b/src/usr/isteps/istep14/call_mss_memdiag.C index 6ad840e689a..4c4c6b5b2ac 100644 --- a/src/usr/isteps/istep14/call_mss_memdiag.C +++ b/src/usr/isteps/istep14/call_mss_memdiag.C @@ -45,6 +45,7 @@ // use PRD's version of memdiags instead of this cronus verison once its working #ifdef CONFIG_AXONE #include +#include // for EXPLORER ID #endif using namespace ISTEP; @@ -178,19 +179,24 @@ void* call_mss_memdiag (void* io_pArgs) TargetHandleList trgtList; getAllChips( trgtList, TYPE_OCMB_CHIP ); for (const auto & l_ocmb_target : trgtList) { - fapi2::Target l_fapi_ocmb_target(l_ocmb_target); - // Start Memory Diagnostics. - FAPI_INVOKE_HWP( errl, exp_mss_memdiag, l_fapi_ocmb_target ); - if ( nullptr != errl ) + 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) { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "exp_mss_memdiag (0x%08x) " - "failed", get_huid(l_ocmb_target) ); - break; + fapi2::Target 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