summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/common/deconfigGard.C
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2016-08-02 15:21:55 -0500
committerMatthew A. Ploetz <maploetz@us.ibm.com>2016-08-31 14:35:36 -0400
commitc3abedc596aab0e0295bbac7b06ff4bb94519744 (patch)
tree26fe14c24f246e8cc7872ac7ed1544828ee05c0a /src/usr/hwas/common/deconfigGard.C
parentbdaf313c6276e90de72c73f67ced82d5a9a93837 (diff)
downloadtalos-hostboot-c3abedc596aab0e0295bbac7b06ff4bb94519744.tar.gz
talos-hostboot-c3abedc596aab0e0295bbac7b06ff4bb94519744.zip
P9 Deconfigure Functionality for PEC + PHB Targets
Change-Id: I8b46a7919fcdab79ec64f0dfebf998d061948dc2 RTC: 118806 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28730 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/usr/hwas/common/deconfigGard.C')
-rw-r--r--src/usr/hwas/common/deconfigGard.C23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index 1a50f0661..abe5dcedd 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -1314,6 +1314,7 @@ void DeconfigGard::_deconfigureByAssoc(
{
TargetHandle_t pChild = *pChild_it;
+ HWAS_INF("_deconfigureByAssoc CHILD: %.8X", get_huid(pChild));
_deconfigureTarget(*pChild, i_errlEid, NULL,
i_deconfigRule);
// Deconfigure other Targets by association
@@ -1731,6 +1732,28 @@ void DeconfigGard::_deconfigureByAssoc(
i_errlEid, i_deconfigRule);
break;
} // TYPE_PORE
+ case TYPE_PHB:
+ {
+ TargetHandleList pParentPECList;
+ getParentAffinityTargetsByState(pParentPECList, &i_target,
+ CLASS_UNIT, TYPE_PEC, UTIL_FILTER_PRESENT);
+ HWAS_ASSERT((pParentPECList.size() == 1),
+ "HWAS _deconfigureByAssoc: pParentPECList != 1");
+ Target *l_parentPEC = pParentPECList[0];
+
+ if (isFunctional(l_parentPEC))
+ {
+ if (!anyChildFunctional(*l_parentPEC))
+ {
+ _deconfigureTarget(*l_parentPEC,
+ i_errlEid, NULL, i_deconfigRule);
+ _deconfigureByAssoc(*l_parentPEC,
+ i_errlEid,i_deconfigRule);
+ }
+ }
+
+ break;
+ } // TYPE_PHB
default:
// no action
break;
OpenPOWER on IntegriCloud