summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2019-01-22 14:49:20 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-01-31 13:38:51 -0600
commit8293d83310c151bb61bdc04932aa041ca0cd2223 (patch)
tree1286e2dec1a286903aa904e98eb08604b226d1e6
parent23c66ccdeab039d1c1ca6def64d9e37bbf9c933f (diff)
downloadtalos-hostboot-8293d83310c151bb61bdc04932aa041ca0cd2223.tar.gz
talos-hostboot-8293d83310c151bb61bdc04932aa041ca0cd2223.zip
Fix deconfigure parent rollup policy
Change to specifically designate if a target is allowed to be deconfigured by child rollup and if it should rollup to its parent. Need to cover the case where there are two different types of children and only one is allowed to rollup to the parent. Also prevent the deconfigure rollup from happening to the parent. Change-Id: I514876a46e9c8180e1fc99a969e0ca4247fbf2d9 CQ:SW454562 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70759 Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/usr/hwas/common/deconfigGard.C98
-rw-r--r--src/usr/hwas/test/hwasGardTest.H44
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml52
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml4
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml788
5 files changed, 906 insertions, 80 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index 2a2ea1d54..8fab07013 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -1605,8 +1605,11 @@ void DeconfigGard::_deconfigAffinityParent( TARGETING::Target & i_child,
const DeconfigureFlags i_deconfigRule )
{
Target * l_parent = NULL;
+ TARGETING::ATTR_PARENT_DECONFIG_RULES_type l_child_rules =
+ i_child.getAttr<ATTR_PARENT_DECONFIG_RULES>();
- if (!i_child.getAttr<ATTR_PARENT_DECONFIG_DISABLED>())
+ // Does this deconfigured child allow the deconfig to rollup to its parent
+ if (l_child_rules.deconfigureParent)
{
// General predicate to determine if target is functional
PredicateIsFunctional isFunctional;
@@ -1615,32 +1618,40 @@ void DeconfigGard::_deconfigAffinityParent( TARGETING::Target & i_child,
if ((l_parent != NULL) && isFunctional(l_parent))
{
- // Now check if parent has any functional affinity children
- // that match the same type/class as the child
- if ( !anyFunctionalChildLikeMe(l_parent, &i_child) )
+ TARGETING::ATTR_PARENT_DECONFIG_RULES_type l_parent_rules =
+ l_parent->getAttr<ATTR_PARENT_DECONFIG_RULES>();
+ // Does the parent allow its deconfigured children to rollup their
+ // deconfigure to itself? This is a safety check to prevent
+ // essential resources from being deconfigured via rollup.
+ if (l_parent_rules.childRollupAllowed)
{
- bool isDeconfigured = false;
- HWAS_INF("_deconfigAffinityParent: deconfig functional parent 0x%.8X, EID 0x%.8X",
- get_huid(l_parent), i_errlEid);
- _deconfigureTarget(*l_parent, i_errlEid,
- &isDeconfigured, i_deconfigRule);
- if (isDeconfigured)
+ // Now check if parent has any functional affinity children
+ // that match the same type/class as the child
+ if ( !anyFunctionalChildLikeMe(l_parent, &i_child) )
{
- HWAS_INF("_deconfigAffinityParent: roll-up parent 0x%.8X deconfig, EID 0x%.8X",
+ bool isDeconfigured = false;
+ HWAS_INF("_deconfigAffinityParent: deconfig functional parent 0x%.8X, EID 0x%.8X",
+ get_huid(l_parent), i_errlEid);
+ _deconfigureTarget(*l_parent, i_errlEid,
+ &isDeconfigured, i_deconfigRule);
+ if (isDeconfigured)
+ {
+ HWAS_INF("_deconfigAffinityParent: roll-up/down parent 0x%.8X deconfig, EID 0x%.8X",
+ get_huid(l_parent), i_errlEid);
+ // need to account for possible non-like functional children
+ _deconfigureByAssoc(*l_parent, i_errlEid, i_deconfigRule);
+ }
+ }
+ else
+ {
+ HWAS_INF("_deconfigAffinityParent: functional child found for parent 0x%.8X, EID 0x%.8X",
get_huid(l_parent), i_errlEid);
-
- // Just need to rollup the deconfig
- // (all children already marked as non-functional)
- // Roll up deconfigure to parent's parent,
- // call this to take care of special deconfig cases
- _deconfigParentAssoc(*l_parent, i_errlEid, i_deconfigRule);
}
}
else
{
- HWAS_INF("_deconfigAffinityParent: functional child found for parent 0x%.8X, EID 0x%.8X",
- get_huid(l_parent), i_errlEid);
-
+ HWAS_INF("_deconfigAffinityParent: parent 0x%.8X does NOT allow deconfig via child rollup",
+ get_huid(l_parent));
}
}
else
@@ -1654,7 +1665,7 @@ void DeconfigGard::_deconfigAffinityParent( TARGETING::Target & i_child,
}
else
{
- HWAS_INF("_deconfigAffinityParent: PARENT_DECONFIG_DISABLED for child 0x%.8X, EID 0x%.8X",
+ HWAS_INF("_deconfigAffinityParent: do not rollup deconfigured child 0x%.8X, EID 0x%.8X",
get_huid(&i_child), i_errlEid);
}
}
@@ -1898,6 +1909,44 @@ void DeconfigGard::_deconfigParentAssoc(TARGETING::Target & i_target,
break;
} // TYPE_EX
+ case TYPE_DIMM:
+ {
+ // Whenever a DIMM is deconfigured, we will also deconfigure
+ // the immediate parent target (e.g. MCA, MBA, etc) to ensure
+ // there is not an unbalanced load on the ports.
+
+ // General predicate to determine if target is functional
+ PredicateIsFunctional isFunctional;
+
+ // get immediate parent (MCA/MBA/etc)
+ TargetHandleList pParentList;
+ PredicatePostfixExpr funcParent;
+ funcParent.push(&isFunctional);
+ targetService().getAssociated(pParentList,
+ &i_target,
+ TargetService::PARENT_BY_AFFINITY,
+ TargetService::IMMEDIATE,
+ &funcParent);
+
+ HWAS_ASSERT((pParentList.size() <= 1),
+ "HWAS _deconfigParentAssoc: pParentList > 1");
+
+ // if parent hasn't already been deconfigured
+ // then deconfigure it
+ if (!pParentList.empty())
+ {
+ const Target *l_parentMba = pParentList[0];
+ HWAS_INF("_deconfigParentAssoc DIMM parent: %.8X",
+ get_huid(l_parentMba));
+ _deconfigureTarget(const_cast<Target &> (*l_parentMba),
+ i_errlEid, NULL, i_deconfigRule);
+ _deconfigureByAssoc(const_cast<Target &> (*l_parentMba),
+ i_errlEid, i_deconfigRule);
+ }
+
+ break;
+ } // TYPE_DIMM
+
// If target is a bus endpoint, deconfigure its peer
case TYPE_XBUS:
case TYPE_ABUS:
@@ -1918,6 +1967,7 @@ void DeconfigGard::_deconfigParentAssoc(TARGETING::Target & i_target,
}
break;
} // TYPE_XBUS, TYPE_ABUS, TYPE_PSI
+
case TYPE_OBUS:
{
// Only deconfigure peer endpoint if OBUS set to SMP mode
@@ -1940,7 +1990,7 @@ void DeconfigGard::_deconfigParentAssoc(TARGETING::Target & i_target,
}
}
break;
- }
+ } // TYPE_OBUS
case TYPE_OBUS_BRICK:
{
@@ -2061,8 +2111,8 @@ void DeconfigGard::_deconfigParentAssoc(TARGETING::Target & i_target,
}
default:
{
- // TYPE_MEMBUF, TYPE_MCA, TYPE_MCS, TYPE_MI, TYPE_DMI,
- // TYPE_MBA, TYPE_DIMM, TYPE_PHB, TYPE_OBUS_BRICK, TYPE_PORE
+ // TYPE_MEMBUF, TYPE_MCA, TYPE_MCS, TYPE_MC, TYPE_MI, TYPE_DMI,
+ // TYPE_MBA, TYPE_PHB, TYPE_OBUS_BRICK, TYPE_EQ
_deconfigAffinityParent(i_target, i_errlEid, i_deconfigRule);
}
break;
diff --git a/src/usr/hwas/test/hwasGardTest.H b/src/usr/hwas/test/hwasGardTest.H
index 0e644b9eb..b9eba88fb 100644
--- a/src/usr/hwas/test/hwasGardTest.H
+++ b/src/usr/hwas/test/hwasGardTest.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2011,2018 */
+/* Contributors Listed Below - COPYRIGHT 2011,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -62,6 +62,30 @@ bool compareAffinityCXX(const TargetInfo t1, const TargetInfo t2)
class HwasGardTest: public CxxTest::TestSuite
{
public:
+ /**
+ * @brief Test which verifies all targets have a valid deconfig rule
+ */
+ void testParentDeconfigRules()
+ {
+ TS_TRACE(INFO_MRK "testParentDeconfigRules: Started");
+ HWAS_INF("testParentDeconfigRules: Started");
+
+ TARGETING::TargetIterator l_pTarget;
+ for( l_pTarget = TARGETING::targetService().begin();
+ l_pTarget != TARGETING::targetService().end();
+ ++l_pTarget
+ )
+ {
+ TARGETING::ATTR_PARENT_DECONFIG_RULES_type l_rules =
+ l_pTarget->getAttr<ATTR_PARENT_DECONFIG_RULES>();
+ if (l_rules.valid == 0)
+ {
+ TS_FAIL("testParentDeconfigRules: 0x%.8X target has invalid ATTR_PARENT_DECONFIG_RULES",
+ TARGETING::get_huid(*l_pTarget));
+ }
+ }
+ HWAS_INF("testParentDeconfigRules: Ended");
+ }
/**
* @brief Test creating and getting a Deconfigure Record for a
@@ -4871,7 +4895,7 @@ public:
l_targets.push_back(l_TargetInfo);
presentByAssoc(l_targets, l_targToDeconfig);
-
+
// MI only
l_ep[1].addLast(TYPE_MC, 0);
l_ep[1].addLast(TYPE_MI, 0);
@@ -4881,7 +4905,7 @@ public:
l_targets.push_back(l_TargetInfo);
presentByAssoc(l_targets, l_targToDeconfig);
-
+
// DMI only
l_ep[2].addLast(TYPE_MC, 0);
l_ep[2].addLast(TYPE_MI, 0);
@@ -4980,7 +5004,7 @@ public:
// Add MC Group 0
//l_targets[0].pThisTarget = NULL;
- l_targets[0].affinityPath.addLast(TYPE_MC, 0);
+ l_targets[0].affinityPath.addLast(TYPE_MC, 0);
l_ep[0] = l_targets[0].affinityPath; // SHOULD GET DECONFIGURED
l_targets[0].type = TYPE_MC;
@@ -5020,7 +5044,7 @@ public:
l_targets[4].affinityPath.addLast(TYPE_MI, 0);
l_ep[4] = l_targets[4].affinityPath;
l_targets[4].type = TYPE_MI;
-
+
// Add DMI Group 1
//l_targets[5].pThisTarget = NULL;
l_targets[5].affinityPath.addLast(TYPE_MC,1);
@@ -5154,7 +5178,7 @@ public:
l_targets[7].affinityPath.addLast(TYPE_MC, 0);
l_ep[7] = l_targets[7].affinityPath;
l_targets[7].type = TYPE_MC;
-
+
// Add MI
l_targets[8].pThisTarget = NULL;
l_targets[8].affinityPath.addLast(TYPE_MC, 0);
@@ -5214,14 +5238,14 @@ public:
l_targets[0].affinityPath.addLast(TYPE_MC, 0);
l_ep[0] = l_targets[0].affinityPath; // SHOULD BE DECONFIGURED
l_targets[0].type = TYPE_MC;
-
+
// Add MI Group 0
l_targets[1].pThisTarget = NULL;
l_targets[1].affinityPath.addLast(TYPE_MC, 0);
l_targets[1].affinityPath.addLast(TYPE_MI, 0);
l_ep[1] = l_targets[1].affinityPath; // SHOULD BE DECONFIGURED
l_targets[1].type = TYPE_MI;
-
+
// Add DMI Group 0
l_targets[2].pThisTarget = NULL;
l_targets[2].affinityPath.addLast(TYPE_MC, 0);
@@ -5472,7 +5496,7 @@ public:
l_targets[5].affinityPath.addLast(TYPE_MI, 0);
l_ep[5] = l_targets[5].affinityPath;
l_targets[5].type = TYPE_MI;
-
+
// Add MC Group 0
l_targets[6].pThisTarget = NULL;
l_targets[6].affinityPath.addLast(TYPE_MC, 0);
@@ -5630,7 +5654,7 @@ public:
l_targets[11].affinityPath.addLast(TYPE_MI, 0);
l_ep[11] = l_targets[11].affinityPath;
l_targets[11].type = TYPE_MI; // SHOULD BE DECONFIGURED
-
+
// Add MI 1
l_targets[12].pThisTarget = NULL;
l_targets[12].affinityPath.addLast(TYPE_MC, 0);
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index d75aaca3d..21eca1fd7 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -5091,18 +5091,52 @@
<attribute>
<description>
- Do not allow deconfiguration of this target to rollup to its parent
- 0x00 (false) = Allow parent deconfiguration rollup (default setting)
- 0x01 (true) = Do not allow parent deconfiguration rollup
+ Rules on how to handle a deconfigure to parent level
</description>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <id>PARENT_DECONFIG_RULES</id>
<persistency>non-volatile</persistency>
<readable/>
- <simpleType>
- <uint8_t>
- <default>0x0</default>
- </uint8_t>
- </simpleType>
+ <complexType>
+ <description>Structure which defines a target's deconfigure rules.
+ Structure is read-only.
+ </description>
+ <field>
+ <bits>1</bits>
+ <default>0</default>
+ <description>Are the rule bits set correctly?
+ </description>
+ <name>valid</name>
+ <type>uint8_t</type>
+ </field>
+ <field>
+ <bits>1</bits>
+ <default>0</default>
+ <description>
+ 0b0: Target should NOT be deconfigured by child rollup
+ 0b1: Target allowed to be deconfigured by child rollup
+ </description>
+ <name>childRollupAllowed</name>
+ <type>uint8_t</type>
+ </field>
+ <field>
+ <bits>1</bits>
+ <default>0</default>
+ <description>
+ 0b0: Target should NOT rollup its deconfigure to its parent
+ 0b1: Target should deconfigure its parent if no more functioning
+ children of same type exist for its parent
+ </description>
+ <name>deconfigureParent</name>
+ <type>uint8_t</type>
+ </field>
+ <field>
+ <bits>5</bits>
+ <default>0</default>
+ <description>Reserved for future use</description>
+ <name>reserved</name>
+ <type>uint8_t</type>
+ </field>
+ </complexType>
<no_export/>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
index ae27cbf81..981228686 100644
--- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
@@ -5383,7 +5383,7 @@
</attribute>
<attribute>
<id>AFFINITY_PATH</id>
- <default>physical:sys-0/node-0/proc-0/nx-0</default>
+ <default>affinity:sys-0/node-0/proc-0/nx-0</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
@@ -5736,7 +5736,7 @@
</attribute>
<attribute>
<id>AFFINITY_PATH</id>
- <default>physical:sys-0/node-0/proc-1/nx-0</default>
+ <default>affinity:sys-0/node-0/proc-1/nx-0</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index f51a84c23..70ebfc55d 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -58,7 +58,7 @@
<id>ORDINAL_ID</id>
</attribute>
<attribute>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PHYS_PATH</id>
@@ -132,10 +132,6 @@
<id>MRU_ID</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
- </attribute>
- <attribute>
<id>POSITION</id>
</attribute>
<attribute>
@@ -192,8 +188,21 @@
<id>MODEL</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PHYS_PATH</id>
@@ -290,6 +299,23 @@
<attribute>
<default>
<field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
+ <default>
+ <field>
<id>reserved</id>
<value>0</value>
</field>
@@ -380,6 +406,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>OCMB_CHIP</default>
<id>TYPE</id>
</attribute>
@@ -543,6 +586,23 @@
<attribute>
<default>
<field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
+ <default>
+ <field>
<id>reserved</id>
<value>0</value>
</field>
@@ -755,6 +815,23 @@
<id>NEST_VIO_ID</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PCI_BASE_ADDRS_32</id>
</attribute>
<attribute>
@@ -830,8 +907,21 @@
<id>MODEL</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>TPM_INFO</id>
@@ -922,8 +1012,21 @@
<id>MSS_VOLT_VPP_SLOPE_EFF_CONFIG</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>START_MEM_ADDRESS_FOR_PAYLOAD_TCE_TOKEN</id>
@@ -951,6 +1054,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>ETH</default>
<id>TYPE</id>
</attribute>
@@ -964,6 +1084,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>FAN</default>
<id>TYPE</id>
</attribute>
@@ -980,6 +1117,23 @@
<default>PCA9847</default>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>TYPE</id>
<default>I2C_MUX</default>
</attribute>
@@ -1031,6 +1185,23 @@
<id>NV_STATUS_FLAG</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>POSITION</id>
</attribute>
<attribute>
@@ -1091,6 +1262,23 @@
<id>OCC_MASTER_CAPABLE</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>OCC</default>
<id>TYPE</id>
</attribute>
@@ -1100,6 +1288,23 @@
<id>panel</id>
<parent>unit</parent>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>PANEL</default>
<id>TYPE</id>
</attribute>
@@ -1113,6 +1318,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>PS</default>
<id>TYPE</id>
</attribute>
@@ -1460,6 +1682,23 @@
<id>O_EREPAIR_THRESHOLD_MNFG</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PAYLOAD_BASE</id>
</attribute>
<attribute>
@@ -1602,6 +1841,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>UART</default>
<id>TYPE</id>
</attribute>
@@ -1677,6 +1933,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -1703,6 +1976,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -1742,6 +2032,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -1769,8 +2076,21 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -1800,6 +2120,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>EX</default>
<id>TYPE</id>
</attribute>
@@ -1817,8 +2154,21 @@
<id>MODEL</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
</targetType>
@@ -1856,6 +2206,23 @@
<default>0x00000033</default>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>TYPE</id>
<default>MBA</default>
</attribute>
@@ -1899,8 +2266,21 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
- <id>PARENT_DECONFIG_DISABLED</id>
- <default>1</default>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -1940,6 +2320,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2006,8 +2403,21 @@
<id>MSS_VOLT_VPP_OFFSET_MILLIVOLTS</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -2059,6 +2469,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2106,6 +2533,23 @@
<id>IBSCOM_MCS_BASE_ADDR</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2134,6 +2578,23 @@
<default>0x00000033</default>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>TYPE</id>
<default>MEM_PORT</default>
</attribute>
@@ -2177,6 +2638,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2224,6 +2702,23 @@
<id>HUID</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2248,6 +2743,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>NX</default>
<id>TYPE</id>
</attribute>
@@ -2317,8 +2829,21 @@
<id>OBUS_SLOT_INDEX</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -2369,8 +2894,21 @@
<id>MFG_WRAP_TEST_ABUS_LINKS_SET</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -2407,8 +2945,21 @@
<default>0x00000001</default>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PEER_PATH</id>
@@ -2464,6 +3015,23 @@
<id>OCC_MASTER_CAPABLE</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>OCC</default>
<id>TYPE</id>
</attribute>
@@ -2503,6 +3071,23 @@
<id>OMIC_PARENT</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2540,6 +3125,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2567,8 +3169,21 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -2674,8 +3289,21 @@
<id>DECONFIG_GARDABLE</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<default>5</default>
@@ -2733,6 +3361,23 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<id>PARENT_PERVASIVE</id>
</attribute>
<attribute>
@@ -2786,8 +3431,21 @@
<id>DECONFIG_GARDABLE</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<default>PPE</default>
@@ -2833,8 +3491,21 @@
<id>DECONFIG_GARDABLE</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<default>SBE</default>
@@ -2888,8 +3559,21 @@
<id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id>
</attribute>
<attribute>
- <default>1</default>
- <id>PARENT_DECONFIG_DISABLED</id>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
@@ -2915,6 +3599,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>USB</default>
<id>TYPE</id>
</attribute>
@@ -2928,6 +3629,23 @@
<id>CLASS</id>
</attribute>
<attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>0</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
+ <attribute>
<default>VRM</default>
<id>TYPE</id>
</attribute>
OpenPOWER on IntegriCloud