summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp/memory/lib/mcbist
diff options
context:
space:
mode:
authorMcIlvain <kmcilva@us.ibm.com>2016-06-23 15:02:35 -0500
committerStephen M. Cprek <smcprek@us.ibm.com>2016-08-17 17:38:33 -0400
commit40c3130a5334e419b86a465a088ab9e3302cffed (patch)
treecc0952e726f5e3bbadc5c7ab59e11a0beb6745df /src/import/chips/p9/procedures/hwp/memory/lib/mcbist
parentc32db93493ddc594834c85f3a4106edca01c329b (diff)
downloadtalos-hostboot-40c3130a5334e419b86a465a088ab9e3302cffed.tar.gz
talos-hostboot-40c3130a5334e419b86a465a088ab9e3302cffed.zip
Adds shmoo API
Adds in shmoo class and an MCBIST exerciser for the shmoo API Change-Id: I04ee29088cd6cb4bd5de67d166c4c58a07d42655 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27650 Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Brian R. Silver <bsilver@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/27651 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/mcbist')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
index 2223cf4cf..c99a9cc02 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/mcbist/mcbist.H
@@ -1754,6 +1754,38 @@ class program
return fapi2::current_err;
}
+ ///
+ /// @brief checks if two programs are equal
+ /// @param[in] i_rhs program to compare
+ /// @return bool true if equal
+ ///
+ inline bool operator==( const program<T>& i_rhs ) const
+ {
+ //checks the vector first, to save time if they're not equal (no sense in checking everything else)
+ if(iv_subtests != i_rhs.iv_subtests)
+ {
+ return false;
+ }
+
+ //checks everything else
+ bool l_equal = iv_parameters == i_rhs.iv_parameters;
+ l_equal &= iv_addr_gen == i_rhs.iv_addr_gen;
+ l_equal &= iv_test_type == i_rhs.iv_test_type;
+ l_equal &= iv_poll == i_rhs.iv_poll;
+ l_equal &= iv_addr_map0 == i_rhs.iv_addr_map0;
+ l_equal &= iv_addr_map1 == i_rhs.iv_addr_map1;
+ l_equal &= iv_addr_map2 == i_rhs.iv_addr_map2;
+ l_equal &= iv_addr_map3 == i_rhs.iv_addr_map3;
+ l_equal &= iv_config == i_rhs.iv_config;
+ l_equal &= iv_control == i_rhs.iv_control;
+ l_equal &= iv_async == i_rhs.iv_async;
+ l_equal &= iv_pattern == i_rhs.iv_pattern;
+ l_equal &= iv_thresholds == i_rhs.iv_thresholds;
+
+ //returns result
+ return l_equal;
+ }
+
// Vector of subtests. Note the MCBIST subtests are spread across
// 8 registers - 4 subtests fit in one 64b register
// (16 bits/test, 4 x 16 == 64, 4x8 = 32 subtests)
OpenPOWER on IntegriCloud