summaryrefslogtreecommitdiffstats
path: root/src/include/usr
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2019-01-04 08:19:33 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-01-08 12:29:07 -0600
commitc8c73af1c713d19e7a2f5e776b5691da8d17b7cd (patch)
treee1e0474a85080f48ef08498f3f72cb429ec2b39e /src/include/usr
parent2ab88987e5fed942b71b757e0c2972adee5b8e1b (diff)
downloadtalos-hostboot-c8c73af1c713d19e7a2f5e776b5691da8d17b7cd.tar.gz
talos-hostboot-c8c73af1c713d19e7a2f5e776b5691da8d17b7cd.zip
Deconfigure parent if no more functioning children of child's type
Defect discovered that a DIMM deconfig did not rollup to the membuf because the membuf also has an l4_centaur child. The fix is to check that the parent has no more children like the one being deconfigured. Also make sure that deconfiguring l4_centaur does not deconfigure its parent membuf. Change-Id: Ic499092d0da926dcd3e0c08f5205e491e04f9680 CQ:SW451955 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70093 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: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr')
-rw-r--r--src/include/usr/hwas/common/deconfigGard.H19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/include/usr/hwas/common/deconfigGard.H b/src/include/usr/hwas/common/deconfigGard.H
index 8598bb242..0eda1aaed 100644
--- a/src/include/usr/hwas/common/deconfigGard.H
+++ b/src/include/usr/hwas/common/deconfigGard.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2018 */
+/* Contributors Listed Below - COPYRIGHT 2012,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -787,6 +787,23 @@ private:
TARGETING::TargetService::CHILD );
/**
+ * @brief Return if any functional child matching the type and class
+ * of the passed in child target is present
+ *
+ * Called by _deconfigureByAssoc().
+ * This function gets list of all children. if state of any
+ * child is functional then returns true.
+ *
+ * @param[in] i_my_parent - parent target
+ * @param[in] i_child - child target to match its class/type
+ *
+ * @return true if any child state is functional.
+ *
+ */
+ bool anyFunctionalChildLikeMe( const TARGETING::Target * i_my_parent,
+ const TARGETING::Target * i_child );
+
+ /**
* @brief Return FCO state of children
*
* Called by _deconfigureByAssoc().
OpenPOWER on IntegriCloud