Skip to content

Commit

Permalink
Check for checkstop during mpipl
Browse files Browse the repository at this point in the history
Implement check for system checkstop during MPIPL

Change-Id: I220d5fc34406083002d3262acb140412739f3100
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55913
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
  • Loading branch information
Shakeebbk authored and sgupta2m committed Mar 19, 2018
1 parent da13fad commit 9e30f64
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions src/sbefw/app/power/sbecmdmpipl.C
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,22 @@ uint32_t sbeEnterMpipl(uint8_t *i_pArg)
do
{
l_fapiRc = sbeExecuteIstep(SBE_ISTEP_MPIPL_START, l_minor);
if(l_fapiRc != FAPI2_RC_SUCCESS)
bool checkstop = isSystemCheckstop();
if((l_fapiRc != FAPI2_RC_SUCCESS) || checkstop)
{
SBE_ERROR(SBE_FUNC "Failed in Mpipl Start in ChipOp Mode "
"Minor: %d", l_minor);
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
l_ffdc.setRc(l_fapiRc);
if(checkstop)
{
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_SYSTEM_CHECKSTOP);
}
else
{
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
l_ffdc.setRc(l_fapiRc);
}
// reset attribute. We do not want to reset register, so do not
// use setMpIplMode
uint8_t isMpipl = 0;
Expand Down Expand Up @@ -186,13 +195,22 @@ uint32_t sbeContinueMpipl(uint8_t *i_pArg)
for(uint8_t l_minor = istep[1]; l_minor <= istep[2]; l_minor++)
{
l_fapiRc = sbeExecuteIstep(istep[0], l_minor);
if(l_fapiRc != FAPI2_RC_SUCCESS)
bool checkstop = isSystemCheckstop();
if((l_fapiRc != FAPI2_RC_SUCCESS) || checkstop)
{
SBE_ERROR(SBE_FUNC "Failed in Mpipl continue in ChipOp "
"Mode Major [%d] Minor [%d]", istep[0], l_minor);
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
l_ffdc.setRc(l_fapiRc);
if(checkstop)
{
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_SYSTEM_CHECKSTOP);
}
else
{
l_respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
l_ffdc.setRc(l_fapiRc);
}
break;
}
}
Expand Down

0 comments on commit 9e30f64

Please sign in to comment.