diff options
author | Lateef Quraishi <lateef@us.ibm.com> | 2016-08-25 17:23:33 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-09-02 10:07:18 -0400 |
commit | d85d7b3c2deecb0bb717084edba4168f8094679d (patch) | |
tree | 79198bdf41843be410e989a6f5680b9aa6f68cfd /src | |
parent | e4866856c7642d1ae8c6ec4b9cf9d2042ecef103 (diff) | |
download | talos-hostboot-d85d7b3c2deecb0bb717084edba4168f8094679d.tar.gz talos-hostboot-d85d7b3c2deecb0bb717084edba4168f8094679d.zip |
Drive PERV target existence based on blueprint, not PG
Corrected wrong Proc 1 PERV HUIDs
Change-Id: I030585f9cc11fbd76d5a0d5fd2926a31090f3f76
RTC: 159350
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/28821
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/hwas/common/hwas.C | 26 | ||||
-rw-r--r-- | src/usr/hwas/test/hwas1test.H | 90 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml | 86 |
3 files changed, 153 insertions, 49 deletions
diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index ec565272c..64f248dac 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -405,13 +405,27 @@ errlHndl_t discoverTargets() descFunctional = isDescFunctional(pDesc, pgData); } - // for sub-parts, if it's not functional, it's not present. - enableHwasState(pDesc, descFunctional, descFunctional, + if (pDesc->getAttr<ATTR_TYPE>() == TYPE_PERV) + { + // for sub-parts of PERV, it's always present. + enableHwasState(pDesc, chipFunctional, descFunctional, + errlEid); + HWAS_DBG("pDesc %.8X - marked %spresent, %sfunctional", + pDesc->getAttr<ATTR_HUID>(), + "", + descFunctional ? "" : "NOT "); + } + else + { + // for other sub-parts, if it's not functional, + // it's not present. + enableHwasState(pDesc, descFunctional, descFunctional, errlEid); - HWAS_DBG("pDesc %.8X - marked %spresent, %sfunctional", - pDesc->getAttr<ATTR_HUID>(), - descFunctional ? "" : "NOT ", - descFunctional ? "" : "NOT "); + HWAS_DBG("pDesc %.8X - marked %spresent, %sfunctional", + pDesc->getAttr<ATTR_HUID>(), + descFunctional ? "" : "NOT ", + descFunctional ? "" : "NOT "); + } } // set HWAS state to show CHIP is present, functional per above diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H index 1f24dadd0..4ad8e49a8 100644 --- a/src/usr/hwas/test/hwas1test.H +++ b/src/usr/hwas/test/hwas1test.H @@ -1303,6 +1303,96 @@ public: TS_TRACE( "testHWASrestrictECunits exit" ); } + /** + * @brief test pervStates + */ + void testHWASpervStates() + { + using namespace HWAS; + using namespace TARGETING; + + // find top level target + Target * pSys; + targetService().getTopLevelTarget(pSys); + + PredicateCTM predChip(CLASS_CHIP); + PredicateCTM predPerv(CLASS_UNIT, TYPE_PERV); + PredicatePostfixExpr checkExpr; + checkExpr.push(&predChip).Or().push(&predPerv).Or(); + + TargetHandleList pPervList; + // get list of all PERV targets + targetService().getAssociated( pPervList, pSys, + TargetService::CHILD, + TargetService::ALL, + &predPerv ); + // sort the list by ATTR_HUID to ensure that we + // start at the same place each time + std::sort(pPervList.begin(), pPervList.end(), + compareTargetHuid); + do + { + if (pPervList.empty()) + { + TS_FAIL("testHWASpervStates: empty pPervList"); + break; + } + // Iterate through all PERV chiplets + for (TargetHandleList::const_iterator + l_pervIter = pPervList.begin(); + l_pervIter != pPervList.end(); + ++l_pervIter) + { + Target * l_target = *l_pervIter; + + // The chip unit number of the perv target + // is the index into the PG data + ATTR_CHIP_UNIT_type chip_unit = + l_target->getAttr<ATTR_CHIP_UNIT>(); + + // get the HW State of the target + HwasState hwasState = l_target->getAttr<ATTR_HWAS_STATE>(); + + // get parent target and the HW state + const Target * l_ptarget; + l_ptarget = getParentChip(l_target); + HwasState phwasState = l_ptarget->getAttr<ATTR_HWAS_STATE>(); + + if (phwasState.present == true) + { + if (hwasState.present == false) + { + TS_FAIL("testHWASpervStates: PERV[%d] HUID: %.8X - is NOT Present", + chip_unit, + l_target->getAttr<ATTR_HUID>()); + break; + } + HWAS_DBG("PERV[%d]: HUID: %.8X - %spresent, %sfunctional", + chip_unit, + l_target->getAttr<ATTR_HUID>(), + hwasState.present ? "" : "NOT ", + hwasState.functional ? "" : "NOT "); + } + else + { + if (hwasState.present == true) + { + TS_FAIL("testHWASpervStates: PERV[%d] HUID: %.8X - is Present and Parent is NOT", + chip_unit, + l_target->getAttr<ATTR_HUID>()); + break; + } + HWAS_DBG("PERV[%d]: HUID: %.8X - %spresent, %sfunctional", + chip_unit, + l_target->getAttr<ATTR_HUID>(), + hwasState.present ? "" : "NOT ", + hwasState.functional ? "" : "NOT "); + } + } + } while(0); + + TS_TRACE( "testHWASpervStates exit" ); + } }; #endif // diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml index 1d27fd973..f756e868f 100644 --- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml @@ -8577,7 +8577,7 @@ <targetInstance> <id>sys0node0proc1perv1</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C002B</default></attribute> + <attribute><id>HUID</id><default>0x002C0039</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c1</default> </attribute> @@ -8614,7 +8614,7 @@ <targetInstance> <id>sys0node0proc1perv2</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C002C</default></attribute> + <attribute><id>HUID</id><default>0x002C003A</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c2</default> </attribute> @@ -8651,7 +8651,7 @@ <targetInstance> <id>sys0node0proc1perv3</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C002D</default></attribute> + <attribute><id>HUID</id><default>0x002C003B</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c3</default> </attribute> @@ -8688,7 +8688,7 @@ <targetInstance> <id>sys0node0proc1perv4</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C002E</default></attribute> + <attribute><id>HUID</id><default>0x002C003C</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c4</default> </attribute> @@ -8725,7 +8725,7 @@ <targetInstance> <id>sys0node0proc1perv5</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C002F</default></attribute> + <attribute><id>HUID</id><default>0x002C003D</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c5</default> </attribute> @@ -8762,7 +8762,7 @@ <targetInstance> <id>sys0node0proc1perv6</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0030</default></attribute> + <attribute><id>HUID</id><default>0x002C003E</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c6</default> </attribute> @@ -8799,7 +8799,7 @@ <targetInstance> <id>sys0node0proc1perv7</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0031</default></attribute> + <attribute><id>HUID</id><default>0x002C003F</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c7</default> </attribute> @@ -8836,7 +8836,7 @@ <targetInstance> <id>sys0node0proc1perv8</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0032</default></attribute> + <attribute><id>HUID</id><default>0x002C0040</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c8</default> </attribute> @@ -8873,7 +8873,7 @@ <targetInstance> <id>sys0node0proc1perv9</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0033</default></attribute> + <attribute><id>HUID</id><default>0x002C0041</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c9</default> </attribute> @@ -8910,7 +8910,7 @@ <targetInstance> <id>sys0node0proc1perv12</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0036</default></attribute> + <attribute><id>HUID</id><default>0x002C0044</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c12</default> </attribute> @@ -8947,7 +8947,7 @@ <targetInstance> <id>sys0node0proc1perv13</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0037</default></attribute> + <attribute><id>HUID</id><default>0x002C0045</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c13</default> </attribute> @@ -8984,7 +8984,7 @@ <targetInstance> <id>sys0node0proc1perv14</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0038</default></attribute> + <attribute><id>HUID</id><default>0x002C0046</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c14</default> </attribute> @@ -9021,7 +9021,7 @@ <targetInstance> <id>sys0node0proc1perv15</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0039</default></attribute> + <attribute><id>HUID</id><default>0x002C0047</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c15</default> </attribute> @@ -9058,7 +9058,7 @@ <targetInstance> <id>sys0node0proc1perv16</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003A</default></attribute> + <attribute><id>HUID</id><default>0x002C0048</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c16</default> </attribute> @@ -9095,7 +9095,7 @@ <targetInstance> <id>sys0node0proc1perv17</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003B</default></attribute> + <attribute><id>HUID</id><default>0x002C0049</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c17</default> </attribute> @@ -9132,7 +9132,7 @@ <targetInstance> <id>sys0node0proc1perv18</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003C</default></attribute> + <attribute><id>HUID</id><default>0x002C004A</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c18</default> </attribute> @@ -9169,7 +9169,7 @@ <targetInstance> <id>sys0node0proc1perv19</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003D</default></attribute> + <attribute><id>HUID</id><default>0x002C004B</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c19</default> </attribute> @@ -9206,7 +9206,7 @@ <targetInstance> <id>sys0node0proc1perv20</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003E</default></attribute> + <attribute><id>HUID</id><default>0x002C004C</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c20</default> </attribute> @@ -9243,7 +9243,7 @@ <targetInstance> <id>sys0node0proc1perv21</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C003F</default></attribute> + <attribute><id>HUID</id><default>0x002C004D</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c21</default> </attribute> @@ -9280,7 +9280,7 @@ <targetInstance> <id>sys0node0proc1perv32</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004A</default></attribute> + <attribute><id>HUID</id><default>0x002C0058</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c32</default> </attribute> @@ -9317,7 +9317,7 @@ <targetInstance> <id>sys0node0proc1perv33</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004B</default></attribute> + <attribute><id>HUID</id><default>0x002C0059</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c33</default> </attribute> @@ -9354,7 +9354,7 @@ <targetInstance> <id>sys0node0proc1perv34</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004C</default></attribute> + <attribute><id>HUID</id><default>0x002C005A</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c34</default> </attribute> @@ -9391,7 +9391,7 @@ <targetInstance> <id>sys0node0proc1perv35</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004D</default></attribute> + <attribute><id>HUID</id><default>0x002C005B</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c35</default> </attribute> @@ -9428,7 +9428,7 @@ <targetInstance> <id>sys0node0proc1perv36</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004E</default></attribute> + <attribute><id>HUID</id><default>0x002C005C</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c36</default> </attribute> @@ -9465,7 +9465,7 @@ <targetInstance> <id>sys0node0proc1perv37</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C004F</default></attribute> + <attribute><id>HUID</id><default>0x002C005D</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c37</default> </attribute> @@ -9502,7 +9502,7 @@ <targetInstance> <id>sys0node0proc1perv38</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0050</default></attribute> + <attribute><id>HUID</id><default>0x002C005E</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c38</default> </attribute> @@ -9539,7 +9539,7 @@ <targetInstance> <id>sys0node0proc1perv39</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0051</default></attribute> + <attribute><id>HUID</id><default>0x002C005F</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c39</default> </attribute> @@ -9576,7 +9576,7 @@ <targetInstance> <id>sys0node0proc1perv40</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0052</default></attribute> + <attribute><id>HUID</id><default>0x002C0060</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c40</default> </attribute> @@ -9613,7 +9613,7 @@ <targetInstance> <id>sys0node0proc1perv41</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0053</default></attribute> + <attribute><id>HUID</id><default>0x002C0061</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c41</default> </attribute> @@ -9650,7 +9650,7 @@ <targetInstance> <id>sys0node0proc1perv42</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0054</default></attribute> + <attribute><id>HUID</id><default>0x002C0062</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c42</default> </attribute> @@ -9687,7 +9687,7 @@ <targetInstance> <id>sys0node0proc1perv43</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0055</default></attribute> + <attribute><id>HUID</id><default>0x002C0063</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c43</default> </attribute> @@ -9724,7 +9724,7 @@ <targetInstance> <id>sys0node0proc1perv44</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0056</default></attribute> + <attribute><id>HUID</id><default>0x002C0064</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c44</default> </attribute> @@ -9761,7 +9761,7 @@ <targetInstance> <id>sys0node0proc1perv45</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0057</default></attribute> + <attribute><id>HUID</id><default>0x002C0065</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c45</default> </attribute> @@ -9798,7 +9798,7 @@ <targetInstance> <id>sys0node0proc1perv46</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0058</default></attribute> + <attribute><id>HUID</id><default>0x002C0066</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c46</default> </attribute> @@ -9835,7 +9835,7 @@ <targetInstance> <id>sys0node0proc1perv47</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0059</default></attribute> + <attribute><id>HUID</id><default>0x002C0067</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c47</default> </attribute> @@ -9872,7 +9872,7 @@ <targetInstance> <id>sys0node0proc1perv48</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005A</default></attribute> + <attribute><id>HUID</id><default>0x002C0068</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c48</default> </attribute> @@ -9909,7 +9909,7 @@ <targetInstance> <id>sys0node0proc1perv49</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005B</default></attribute> + <attribute><id>HUID</id><default>0x002C0069</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c49</default> </attribute> @@ -9946,7 +9946,7 @@ <targetInstance> <id>sys0node0proc1perv50</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005C</default></attribute> + <attribute><id>HUID</id><default>0x002C006A</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c50</default> </attribute> @@ -9983,7 +9983,7 @@ <targetInstance> <id>sys0node0proc1perv51</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005D</default></attribute> + <attribute><id>HUID</id><default>0x002C006B</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c51</default> </attribute> @@ -10020,7 +10020,7 @@ <targetInstance> <id>sys0node0proc1perv52</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005E</default></attribute> + <attribute><id>HUID</id><default>0x002C006C</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c52</default> </attribute> @@ -10057,7 +10057,7 @@ <targetInstance> <id>sys0node0proc1perv53</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C005F</default></attribute> + <attribute><id>HUID</id><default>0x002C006D</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c53</default> </attribute> @@ -10094,7 +10094,7 @@ <targetInstance> <id>sys0node0proc1perv54</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0060</default></attribute> + <attribute><id>HUID</id><default>0x002C006E</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c54</default> </attribute> @@ -10131,7 +10131,7 @@ <targetInstance> <id>sys0node0proc1perv55</id> <type>unit-perv-power9</type> - <attribute><id>HUID</id><default>0x002C0061</default></attribute> + <attribute><id>HUID</id><default>0x002C006F</default></attribute> <attribute> <id>FAPI_NAME</id><default>pu.perv:k0:n0:s0:p01:c55</default> </attribute> |