Skip to content

Commit

Permalink
Change training_adv sanity check fail to a recovered fail for p9c
Browse files Browse the repository at this point in the history
Change-Id: I76f6738e2c07b9a9fdd92b6b915d6088ff24c7a5
CQ:SW447904
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67245
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67251
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
  • Loading branch information
stermole authored and crgeddes committed Oct 17, 2018
1 parent 3f02abe commit 81faecc
Showing 1 changed file with 38 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -515,6 +515,42 @@ extern "C"
return fapi2::current_err;
}

///
/// @brief Parse error map error log helper
/// @param[in] i_target the MBA target
/// @param[in] i_memory_health '1' if MCBIST failed, '0' otherwise
/// @param[in] i_faulted_port the port index of the last fail
/// @param[in] i_faulted_rank the rank index of the last fail
/// @param[in] i_faulted_dimm the DIMM index of the last fail
/// @return FAPI2_RC_SUCCESS after logging any errors
///
fapi2::ReturnCode parse_error_map_error_helper(const fapi2::Target<fapi2::TARGET_TYPE_MBA>& i_target,
const uint8_t i_memory_health,
const uint8_t i_faulted_port,
const uint8_t i_faulted_rank,
const uint8_t i_faulted_dimm)
{
// Callout the last faulted port & DIMM if we found any new bad bits
FAPI_ASSERT((i_memory_health == 0),
fapi2::CEN_MSS_GENERIC_SHMOO_MCBIST_FAILED().
set_MBA_TARGET(i_target).
set_MBA_PORT_NUMBER(i_faulted_port).
set_MBA_DIMM_NUMBER(i_faulted_dimm),
"generic_shmoo:sanity_check failed !! MCBIST failed on %s initial run, port=%d rank=%d dimm=%d",
mss::c_str(i_target),
i_faulted_port,
i_faulted_rank,
i_faulted_dimm);

return fapi2::FAPI2_RC_SUCCESS;

fapi_try_exit:
// We're here, so we took a fail - log it as recovered, so we get callouts for PRD but don't fail out of training_adv
fapi2::logError(fapi2::current_err, fapi2::FAPI2_ERRL_SEV_RECOVERED);
fapi2::current_err = fapi2::FAPI2_RC_SUCCESS;
return fapi2::FAPI2_RC_SUCCESS;
}

///
/// @brief parse the MCBIST error map and report spd if any bad bit found
/// @param[in] i_target Centaur input mba
Expand Down Expand Up @@ -603,17 +639,8 @@ extern "C"

//////////////// changed the check condition ... The error call out need to gard the dimm=l_faulted_dimm(0 or 1) //// port=l_faulted_port(0 or 1) target=i_target ...
#ifdef __HOSTBOOT_MODULE
// In firmware, post an error log and callout the last faulted port & DIMM if we found any new bad bits
FAPI_ASSERT_NOEXIT((l_memory_health == 0),
fapi2::CEN_MSS_GENERIC_SHMOO_MCBIST_FAILED().
set_MBA_TARGET(i_target).
set_MBA_PORT_NUMBER(l_faulted_port).
set_MBA_DIMM_NUMBER(l_faulted_dimm),
"generic_shmoo:sanity_check failed !! MCBIST failed on %s initial run, port=%d rank=%d dimm=%d",
mss::c_str(i_target),
l_faulted_port,
l_faulted_rank,
l_faulted_dimm);
// In firmware, post a recovered error log and callout the last faulted port & DIMM if we found any new bad bits
FAPI_TRY( parse_error_map_error_helper(i_target, l_memory_health, l_faulted_port, l_faulted_rank, l_faulted_dimm) );
#else
// In Cronus, assert and halt only if we found more than one bad nibble on a given rank
FAPI_ASSERT((l_count == 0),
Expand Down

0 comments on commit 81faecc

Please sign in to comment.