diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2014-04-01 14:39:04 +0530 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-11 15:15:06 -0500 |
commit | 56d8303881d7e2a50e41480eb7775a36d9955f98 (patch) | |
tree | 239886d0865ebd1d28bc6f6e5efb4934b903ff14 /src/usr/diag/prdf/common/plat | |
parent | 29ffd16b0a5ca8f36b7e2e224d260422e55eeb09 (diff) | |
download | talos-hostboot-56d8303881d7e2a50e41480eb7775a36d9955f98.tar.gz talos-hostboot-56d8303881d7e2a50e41480eb7775a36d9955f98.zip |
PRD: Dynamic memory Dealloc for UE and channel CS
Change-Id: Ifb9dc21566757652f7ea91c1667f24403fc3fa08
CQ: SW254342
Backport: release-fips810
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10018
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10444
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/common/plat')
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C | 11 | ||||
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C | 17 |
2 files changed, 27 insertions, 1 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C index 74c24ad31..eb86e0d4d 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C @@ -30,6 +30,9 @@ #include <prdfCenMbaDataBundle.H> #include <prdfPlatServices.H> #include <prdfCenMembufDataBundle.H> +#ifndef __HOSTBOOT_MODULE +#include <prdfCenMbaDynMemDealloc.H> // For dynamic memory deallocation support +#endif using namespace TARGETING; @@ -442,6 +445,14 @@ int32_t chnlCsCleanup( ExtensibleChip *i_mbChip, "failed", getHuid( mba ) ); o_rc |= l_rc; } + #else + int32_t l_rc = DEALLOC::mbaGard( mbaChip ); + if ( SUCCESS != l_rc ) + { + PRDF_ERR( PRDF_FUNC"mbaGard failed. HUID: 0x%08x", + getHuid( mba ) ); + o_rc |= l_rc; + } #endif // __HOSTBOOT_MODULE } } diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C index 69b0c6a63..a04717de4 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C @@ -46,6 +46,9 @@ #include <prdfCenMembufExtraSig.H> #include <prdfLaneRepair.H> #include <prdfCenMemUtils.H> +#ifndef __HOSTBOOT_MODULE +#include <prdfCenMbaDynMemDealloc.H> // For dynamic memory deallocation support +#endif using namespace TARGETING; @@ -808,8 +811,20 @@ int32_t AnalyzeFetchUe( ExtensibleChip * i_membChip, { PRDF_ERR( PRDF_FUNC"handleTdEvent() failed: rank=m%ds%d", rank.getMaster(), rank.getSlave() ); - break; + // We are not adding break here as we still want to do lmbGard + // If you want to add any code after this which depends on result + // of handleTdEvent result, add the code judicially. + } + + #ifndef __HOSTBOOT_MODULE + // Send lmb gard message to PHYP. + int32_t lmbRc = DEALLOC::lmbGard( mbaChip, addr ); + if ( SUCCESS != lmbRc ) + { + PRDF_ERR( PRDF_FUNC"lmbGard() failed" ); + l_rc = lmbRc; break; } + #endif } while (0); |