summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2014-04-01 14:39:04 +0530
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-04-11 15:15:06 -0500
commit56d8303881d7e2a50e41480eb7775a36d9955f98 (patch)
tree239886d0865ebd1d28bc6f6e5efb4934b903ff14 /src/usr/diag/prdf/common/plat
parent29ffd16b0a5ca8f36b7e2e224d260422e55eeb09 (diff)
downloadtalos-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-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMemUtils.C11
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenMembuf.C17
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);
OpenPOWER on IntegriCloud