summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMurulidhar Nataraju <murulidhar@in.ibm.com>2020-01-22 23:58:36 -0600
committerRAJA DAS <rajadas2@in.ibm.com>2020-02-07 08:22:48 -0600
commit98d8d616b6e5b4c93cd73db3ae840af463fed300 (patch)
tree2a31abfb0081487ef3178fd98d1e3eb1a74da92d
parent7c74ddaef092837bb14eed0aaf3cc65f9a0490d8 (diff)
downloadtalos-sbe-98d8d616b6e5b4c93cd73db3ae840af463fed300.tar.gz
talos-sbe-98d8d616b6e5b4c93cd73db3ae840af463fed300.zip
Update EnterMPIPL to collect architected dumps and
stopClocks for BMC based system Change-Id: Iac0b82e12f048e593acb54c82815d890c2ae93a6 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/90183 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>
-rw-r--r--src/sbefw/app/power/sbecmdmpipl.C31
1 files changed, 29 insertions, 2 deletions
diff --git a/src/sbefw/app/power/sbecmdmpipl.C b/src/sbefw/app/power/sbecmdmpipl.C
index 0016e242..55344527 100644
--- a/src/sbefw/app/power/sbecmdmpipl.C
+++ b/src/sbefw/app/power/sbecmdmpipl.C
@@ -195,6 +195,34 @@ uint32_t sbeEnterMpipl(uint8_t *i_pArg)
PLAT_ATTR_INIT(ATTR_IS_MPIPL, Target<TARGET_TYPE_SYSTEM>(), isMpipl);
break;
}
+
+ //If system is FSP less system then collect the SPRs/GPRs and stop the
+ //clocks.
+ if(false == SbeRegAccess::theSbeRegAccess().isFspSystem())
+ {
+ // Collect Architected Register Dump
+ fapiRc = sbeDumpArchRegs();
+ if( fapiRc != FAPI2_RC_SUCCESS )
+ {
+ SBE_ERROR(SBE_FUNC "Failed in sbeDumpArchRegs()");
+ respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
+ SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
+ ffdc.setRc(fapiRc);
+ break;
+ }
+
+ //Core and Cache stop Clock
+ SBE_INFO(SBE_FUNC "Attempt Stop clocks for all Core and cache ");
+ fapiRc = stopClockS0();
+ if(fapiRc != FAPI2_RC_SUCCESS)
+ {
+ rc = SBE_SEC_S0_STOP_CLOCK_FAILED;
+ SBE_ERROR(SBE_FUNC "Failed in Core/Cache StopClock");
+ break;
+ }
+
+ }
+
}while(0);
// Create the Response to caller
@@ -311,12 +339,11 @@ uint32_t sbeCollectDumpMpipl(uint8_t *i_pArg)
respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
SBE_SEC_GENERIC_FAILURE_IN_EXECUTION);
ffdc.setRc(fapiRc);
- rc = fapiRc;
break;
}
//Core and Cache stop Clock
- SBE_ERROR(SBE_FUNC "Stop clocks for all Core and cache ");
+ SBE_INFO(SBE_FUNC "Stop clocks for all Core and cache ");
fapiRc = stopClockS0();
if(fapiRc != FAPI2_RC_SUCCESS)
{
OpenPOWER on IntegriCloud