summaryrefslogtreecommitdiffstats
path: root/src/include/usr/targeting/common
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2018-10-15 10:22:11 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-11-29 17:06:46 -0600
commitb3290cc00d1768adf99a2c01472626b6eaeea17d (patch)
tree4b07a473f7cf448d2eac5c6f808be427380ab34c /src/include/usr/targeting/common
parent546c014e9b53011575917fcb66238ba28fcf5fe5 (diff)
downloadtalos-hostboot-b3290cc00d1768adf99a2c01472626b6eaeea17d.tar.gz
talos-hostboot-b3290cc00d1768adf99a2c01472626b6eaeea17d.zip
Fix predicateHwasChanged to only check subscribed bits
Found issue while running testGard11 in hwasGardTest.H OBUS bricks were coming back changed but they did not change. Change-Id: Icf2d27b06f8bf44dc2e0aefb881d9e2b50dcc677 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/67476 Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@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> Tested-by: Jenkins OP Build CI <op-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>
Diffstat (limited to 'src/include/usr/targeting/common')
-rw-r--r--src/include/usr/targeting/common/predicates/predicatehwaschanged.H30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/include/usr/targeting/common/predicates/predicatehwaschanged.H b/src/include/usr/targeting/common/predicates/predicatehwaschanged.H
index 9e833a8b4..8301dfea3 100644
--- a/src/include/usr/targeting/common/predicates/predicatehwaschanged.H
+++ b/src/include/usr/targeting/common/predicates/predicatehwaschanged.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2013,2014 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -81,7 +83,10 @@ class PredicateHwasChanged : public PredicateBase
virtual ~PredicateHwasChanged();
/**
- * @brief Reset the predicate to match everything
+ * @brief Reset the predicate to the cleared state
+ * This cleared state is an invalid state.
+ * User needs to identify a bit to check for
+ * change after this reset
*
* @return Reference to the predicate, for chaining
*/
@@ -90,6 +95,9 @@ class PredicateHwasChanged : public PredicateBase
/**
* @brief Configure predicate to look for the setting of a particular
* bit in the HWAS_CHANGED_STATE_FLAG
+ * If this is called multiple times with different bits, then
+ * a change will only be detected if ALL the changedBits match
+ * their desired setting.
*
* @param[in] i_bit HWAS_CHANGED_BIT
* @param[in] i_changed Desired changed setting of that bit
@@ -114,16 +122,14 @@ class PredicateHwasChanged : public PredicateBase
* @brief Returns whether target matches the desired HWAS state
*
* @par Detailed Description:
- * Returns whether target matches the desired HWAS state. Current
- * HWAS sub-fields compared include poweredOn, present, functional,
- * changedSinceLastIpl, and dumpFunctional. On construction, the
- * predicate matches any state of those fields. To make the
- * filter more restrictive, call any combination of the state
- * configuration functions with the desired values. The filter
- * will make sure all the desired fields have requested values
- * before returning a match. To reset the filter to match all
- * targets, call reset(). See PredicateBase class for
- * parameter/return description.
+ * Will assert if no desired state has been setup.
+ * This only checks for a change on subscribed bits associated
+ * with the target.
+ * To make the filter more restrictive, call any combination of
+ * the state configuration functions with the desired values.
+ * The filter will make sure ALL (exclusive match) the desired
+ * fields have requested values before returning a match.
+ * See PredicateBase class for parameter/return description.
*
* @param[in] i_pTarget
* Target handle pointing to the target to compare to
OpenPOWER on IntegriCloud