diff options
Diffstat (limited to 'src/usr/hwas/hwas.C')
-rw-r--r-- | src/usr/hwas/hwas.C | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/usr/hwas/hwas.C b/src/usr/hwas/hwas.C index a310a28ba..2c73b0c21 100644 --- a/src/usr/hwas/hwas.C +++ b/src/usr/hwas/hwas.C @@ -41,7 +41,7 @@ #include <errl/errlentry.H> #include <targeting/targetservice.H> #include <targeting/iterators/rangefilter.H> -#include <targeting/predicates/predicatectm.H> +#include <targeting/predicates/predicates.H> #include <fsi/fsiif.H> #include <hwas/hwas.H> @@ -184,6 +184,27 @@ void init_target_states( void *io_pArgs ) enableHwasState( l_hwasState ); l_memTargetList[ii]->setAttr<ATTR_HWAS_STATE>( l_hwasState ); + + // enable MBA's for each centaur + TARGETING::PredicateCTM l_mbaFilter(CLASS_UNIT, TYPE_MBA); + TARGETING::TargetHandleList l_mbaTargetList; + TARGETING::targetService().getAssociated(l_mbaTargetList, + l_memTargetList[ii], + TARGETING::TargetService::CHILD_BY_AFFINITY, + TARGETING::TargetService::ALL, &l_mbaFilter); + TRACDCOMP( g_trac_hwas, + "%d MBA's with MEMBUF %d", + l_mbaTargetList.size(), + ii ); + + for ( uint8_t ij=0; ij < l_mbaTargetList.size(); ij++ ) + { + l_hwasState = l_mbaTargetList[ij]->getAttr<ATTR_HWAS_STATE>(); + enableHwasState( l_hwasState ); + l_mbaTargetList[ij]->setAttr<ATTR_HWAS_STATE>( l_hwasState ); + } + + // look for the dimms on each centaur TARGETING::PredicateCTM l_dimms(CLASS_LOGICAL_CARD, TYPE_DIMM); TARGETING::TargetHandleList l_dimmTargetList; |