From 6f154577a86b2a47b86c4b63a20563966bf80a52 Mon Sep 17 00:00:00 2001 From: Thi Tran Date: Thu, 18 Jul 2013 15:41:17 -0500 Subject: INITPROC: Hostboot - proc_prep_master_winkle 1.12 SW208962 Change-Id: I5144fa3304a58ba5e7cfdea1ea6c34ca8eda34db Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5459 Tested-by: Jenkins Server Reviewed-by: Brian H. Horton Reviewed-by: A. Patrick Williams III --- src/usr/targeting/common/utilFilter.C | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/usr/targeting') diff --git a/src/usr/targeting/common/utilFilter.C b/src/usr/targeting/common/utilFilter.C index 544ec9b90..2cc0920d5 100644 --- a/src/usr/targeting/common/utilFilter.C +++ b/src/usr/targeting/common/utilFilter.C @@ -238,6 +238,35 @@ const Target * getParentChip( const Target * i_pChiplet ) return l_pChip; } +const Target * getExChiplet( const Target * i_pCoreChiplet ) +{ + const Target * l_pExChiplet = NULL; + + // Create a Class/Type/Model predicate to look for EX chiplet of the input + // core (i.e. the core's parent) + TARGETING::PredicateCTM l_predicate(TARGETING::CLASS_UNIT); + + // Create a vector of TARGETING::Target pointers + TARGETING::TargetHandleList l_exList; + + // Get parent + TARGETING::targetService().getAssociated(l_exList, i_pCoreChiplet, + TARGETING::TargetService::PARENT, + TARGETING::TargetService::ALL, &l_predicate); + + if (l_exList.size() == 1) + { + l_pExChiplet = l_exList[0]; + } + else + { + TARG_ERR("Number of EX chiplet is not 1, but %d", l_exList.size()); + } + + return l_pExChiplet; +} + + void getPeerTargets( TARGETING::TargetHandleList& o_peerTargetList, const Target* i_pSrcTarget, -- cgit v1.2.1