diff options
Diffstat (limited to 'src/usr/diag/prdf/common/plat/prdfTargetServices.C')
-rwxr-xr-x | src/usr/diag/prdf/common/plat/prdfTargetServices.C | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/prdfTargetServices.C b/src/usr/diag/prdf/common/plat/prdfTargetServices.C index cb4dce961..3892a7c45 100755 --- a/src/usr/diag/prdf/common/plat/prdfTargetServices.C +++ b/src/usr/diag/prdf/common/plat/prdfTargetServices.C @@ -941,6 +941,27 @@ ExtensibleChip * getConnectedChild( ExtensibleChip * i_parent, //------------------------------------------------------------------------------ +ExtensibleChip * getNeighborCore( ExtensibleChip * i_core ) +{ + PRDF_ASSERT( nullptr != i_core ); + + TargetHandle_t thisCore = i_core->getTrgt(); + ExtensibleChip * neighborCore = nullptr; + TargetHandleList list = + getConnected(getConnectedParent(thisCore, TYPE_EX), TYPE_CORE); + + for ( auto & trgt : list) + { + if ( trgt != thisCore ) + { + neighborCore = (ExtensibleChip *)systemPtr->GetChip(trgt); + break; + } + } + return neighborCore; +} +//------------------------------------------------------------------------------ + TargetHandle_t getConnectedPeerTarget( TargetHandle_t i_target ) { #define PRDF_FUNC "[PlatServices::getConnectedPeerTarget] " |