diff options
author | crgeddes <crgeddes@us.ibm.com> | 2017-08-14 16:39:58 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-23 16:33:12 -0400 |
commit | b0da5312bac172bdea608371f647fd1bafb87bce (patch) | |
tree | d0ee329f92519757f2f8c42e16d81a7948d67bc6 /src/usr/sbeio | |
parent | a44497d63a86a610b8c4c09fbb45dab99a811fbf (diff) | |
download | talos-hostboot-b0da5312bac172bdea608371f647fd1bafb87bce.tar.gz talos-hostboot-b0da5312bac172bdea608371f647fd1bafb87bce.zip |
Use keyAddr stash chipop to pass rsv mem addr through SBE for MPIPL
Previously we were relying on the reservedMem section to be a certain
address for the attrrp to find after an MPIPL. With this change the
address is passed through the SBE so the reservedMem data can be
anywhere
RTC: 165369
Change-Id: I06521c049088c4a53a8c0a51fa07e5200da09483
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44624
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Brian E. Bakke <bbakke@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/sbeio')
-rw-r--r-- | src/usr/sbeio/sbe_memRegionMgr.C | 4 | ||||
-rw-r--r-- | src/usr/sbeio/sbe_stashKeyAddr.C | 24 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/usr/sbeio/sbe_memRegionMgr.C b/src/usr/sbeio/sbe_memRegionMgr.C index 01c6ed5c5..eb0bef9cd 100644 --- a/src/usr/sbeio/sbe_memRegionMgr.C +++ b/src/usr/sbeio/sbe_memRegionMgr.C @@ -682,9 +682,9 @@ errlHndl_t MemRegionMgr::doUnsecureMemRegionOp(regionData & i_region) // includes the Unsecure Memory Region commands) Informational if ((!SECUREBOOT::enabled()) && (l_psuResponse.primaryStatus == - SbePsu::SBE_PRI_INVALID_COMMAND) && + SBE_PRI_INVALID_COMMAND) && (l_psuResponse.secondaryStatus == - SbePsu::SBE_SEC_COMMAND_CLASS_NOT_SUPPORTED) + SBE_SEC_COMMAND_CLASS_NOT_SUPPORTED) ) { SBE_TRACF(ERR_MRK "doUnsecureMemRegionOp: Secureboot NOT " diff --git a/src/usr/sbeio/sbe_stashKeyAddr.C b/src/usr/sbeio/sbe_stashKeyAddr.C index a6af2ba6a..8ce3e6833 100644 --- a/src/usr/sbeio/sbe_stashKeyAddr.C +++ b/src/usr/sbeio/sbe_stashKeyAddr.C @@ -77,6 +77,30 @@ namespace SBEIO SbePsu::SBE_STASH_KEY_ADDR_REQ_USED_REGS, SbePsu::SBE_STASH_KEY_ADDR_RSP_USED_REGS); + if (errl) + { + SBE_TRACF(ERR_MRK "sendPsuStashKeyAddrRequest: PSU Cmd Failed: " + "err rc=0x%.4X plid=0x%.8X", + ERRL_GETRC_SAFE(errl), ERRL_GETPLID_SAFE(errl)); + + // If the error states that the command is not supported on SBE then set as informational log + if ((l_psuResponse.primaryStatus == + SBE_PRI_INVALID_COMMAND) && + (l_psuResponse.secondaryStatus == + SBE_SEC_COMMAND_NOT_SUPPORTED) + ) + { + SBE_TRACF(ERR_MRK "sendPsuStashKeyAddrRequest: Changing 'Command Not Supported' Error Log To Informational."); + errl->setSev(ERRORLOG::ERRL_SEV_INFORMATIONAL); + errl->collectTrace(SBEIO_COMP_NAME); + } + else if (l_psuResponse.secondaryStatus == SBE_SEC_INPUT_BUFFER_OVERFLOW) + { + SBE_TRACF(ERR_MRK "sendPsuStashKeyAddrRequest: Input buffer overflow, we are attempting to stash too many pairs"); + errl->collectTrace(SBEIO_COMP_NAME); + } + } + SBE_TRACD(EXIT_MRK "stashKeyAddr"); return errl; |