diff options
author | Matt Derksen <mderkse1@us.ibm.com> | 2017-09-13 08:58:27 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-10-15 16:26:48 -0400 |
commit | a5d19110fd5dad891f8fe20c260fb7fb23051822 (patch) | |
tree | eeeecdc372c8e6294fa74ed152e981b5c680fd20 | |
parent | 54a809824656603dad56d67c8cab8946bfa43ecb (diff) | |
download | talos-hostboot-a5d19110fd5dad891f8fe20c260fb7fb23051822.tar.gz talos-hostboot-a5d19110fd5dad891f8fe20c260fb7fb23051822.zip |
Fix parent of OBUS_BRICK
- remove OPTICS_CONFIG_MODE from obus brick targets
- remove FAPI_POS from cumulus obus bricks
Change-Id: I7248bcf39526378fa5b8322a331beeeb33d4d2a4
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46141
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>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r-- | src/usr/hwas/common/deconfigGard.C | 37 | ||||
-rw-r--r-- | src/usr/hwas/common/hwas.C | 10 | ||||
-rw-r--r-- | src/usr/hwas/test/hwas1test.H | 11 | ||||
-rwxr-xr-x | src/usr/targeting/common/processMrw.pl | 11 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml | 49 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml | 218 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 2 |
7 files changed, 119 insertions, 219 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C index a781f460a..d1afdda9f 100644 --- a/src/usr/hwas/common/deconfigGard.C +++ b/src/usr/hwas/common/deconfigGard.C @@ -1651,7 +1651,7 @@ void DeconfigGard::_deconfigureByAssoc( // and we're done, so break; break; } - + case TYPE_MI: { // get parent MC @@ -1685,7 +1685,7 @@ void DeconfigGard::_deconfigureByAssoc( // and we're done, so break; break; } - + case TYPE_DMI: { // get parent MI @@ -1747,8 +1747,8 @@ void DeconfigGard::_deconfigureByAssoc( _deconfigureByAssoc(const_cast<Target &> (*l_parentMembuf), i_errlEid, i_deconfigRule); } - - // and we're done, so break; + + // and we're done, so break; break; } // TYPE_MBA @@ -1959,27 +1959,24 @@ void DeconfigGard::_deconfigureByAssoc( //Get the parent proc associated with this npu auto l_proc = getParentChip(&i_target); - //Get all the obus brick children associated with this proc - PredicateCTM l_obrickFilter (CLASS_UNIT, TYPE_OBUS_BRICK); - PredicateHwas l_predPres; - l_predPres.present(true); - PredicatePostfixExpr l_presentObricks; - l_presentObricks.push(&l_obrickFilter).push(&l_predPres).And(); - - TargetHandleList l_obrickList; - targetService().getAssociated(l_obrickList, l_proc, - TargetService::CHILD_BY_AFFINITY, - TargetService::ALL, &l_presentObricks); + //Get all the obus children associated with this proc + TargetHandleList pChildObusList; + getChildAffinityTargetsByState(pChildObusList, l_proc, + CLASS_UNIT, TYPE_OBUS, UTIL_FILTER_PRESENT); - for (auto l_obrick : l_obrickList) + for (auto l_obus : pChildObusList) { - //deconfigure each obrick that is non-smp - if (l_obrick->getAttr<ATTR_OPTICS_CONFIG_MODE>() != + // NPU controls non-smp obus, + // so need to mark the non-smp ones as not functional + // when the NPU is bad + + //deconfigure each obus that is non-smp + if (l_obus->getAttr<ATTR_OPTICS_CONFIG_MODE>() != OPTICS_CONFIG_MODE_SMP) { - _deconfigureTarget(*l_obrick, + _deconfigureTarget(*l_obus, i_errlEid, NULL, i_deconfigRule); - _deconfigureByAssoc(*l_obrick, + _deconfigureByAssoc(*l_obus, i_errlEid,i_deconfigRule); } } diff --git a/src/usr/hwas/common/hwas.C b/src/usr/hwas/common/hwas.C index c2636baf7..c8af71942 100644 --- a/src/usr/hwas/common/hwas.C +++ b/src/usr/hwas/common/hwas.C @@ -1066,8 +1066,13 @@ bool isDescFunctional(const TARGETING::TargetHandle_t &i_desc, else if (i_desc->getAttr<ATTR_TYPE>() == TYPE_OBUS_BRICK) { - //If NPU is bad and Bricks are non-SMP, then mark them bad - if ((i_desc->getAttr<ATTR_OPTICS_CONFIG_MODE>() + auto obusType = TARGETING::TYPE_OBUS; + TARGETING::Target* l_obus_ptr = const_cast<TARGETING::Target*>( + getParent(i_desc, obusType)); + + //If NPU is bad and OBUS is non-SMP, then mark them bad + // Bit does not matter unless not in SMP mode + if ((l_obus_ptr->getAttr<ATTR_OPTICS_CONFIG_MODE>() != OPTICS_CONFIG_MODE_SMP) && ((i_pgData[VPD_CP00_PG_N3_INDEX] & VPD_CP00_PG_N3_NPU) != 0)) { @@ -1079,7 +1084,6 @@ bool isDescFunctional(const TARGETING::TargetHandle_t &i_desc, (i_pgData[VPD_CP00_PG_N3_INDEX] & ~VPD_CP00_PG_N3_NPU)); l_descFunctional = false; - } } else diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H index 4b1e9ccd0..b11dcfad3 100644 --- a/src/usr/hwas/test/hwas1test.H +++ b/src/usr/hwas/test/hwas1test.H @@ -1652,14 +1652,19 @@ public: case TYPE_OBUS_BRICK: { //Two cases here: - //OBRICK==SMP --> Target should be present regardless of PG - //OBRICK!=SMP --> Target should follow PG + //OBUS==SMP --> Target should be present regardless of PG + //OBUS!=SMP --> Target should follow PG //marking PG bad pgData[VPD_CP00_PG_N3_INDEX] |= (uint16_t)VPD_CP00_PG_N3_NPU; + // get parent OBUS and check OPTICS_CONFIG_MODE + auto obusType = TARGETING::TYPE_OBUS; + TARGETING::Target* l_obus_ptr = + const_cast<TARGETING::Target*>( + getParent(pDesc, obusType)); ATTR_OPTICS_CONFIG_MODE_type config_mode = - pDesc->getAttr<ATTR_OPTICS_CONFIG_MODE>(); + l_obus_ptr->getAttr<ATTR_OPTICS_CONFIG_MODE>(); if (OPTICS_CONFIG_MODE_SMP == config_mode) { diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl index 033e921c7..af34703ed 100755 --- a/src/usr/targeting/common/processMrw.pl +++ b/src/usr/targeting/common/processMrw.pl @@ -1243,11 +1243,6 @@ sub processObus foreach my $obrick (@{ $targetObj->getTargetChildren($target) }) { $targetObj->setAttribute($obrick, "OBUS_SLOT_INDEX", -1); - my $enum_val = $targetObj->getAttribute($obrick,"OPTICS_CONFIG_MODE"); - if ( $enum_val =~ /NVLINK/i) - { - $targetObj->setAttribute($obrick,"OPTICS_CONFIG_MODE","NV"); - } } } else @@ -1293,12 +1288,6 @@ sub processObus $targetObj->setAttribute($obrick, "OBUS_SLOT_INDEX", -1); } - - my $enum_val = $targetObj->getAttribute($obrick,"OPTICS_CONFIG_MODE"); - if ( $enum_val =~ /NVLINK/i) - { - $targetObj->setAttribute($obrick,"OPTICS_CONFIG_MODE","NV"); - } } } } diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml index 411ef82bb..c1b825433 100644 --- a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml @@ -6666,10 +6666,7 @@ <id>FAPI_NAME</id> <default>pu.obus_brick:k0:n0:s0:p00:c0</default> </attribute> - <attribute> - <id>FAPI_POS</id> - <default>0</default> - </attribute> + <attribute> <id>HUID</id> <default>0x00420000</default> @@ -6750,10 +6747,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c1</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>1</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420001</default> </attribute> @@ -6833,10 +6826,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c2</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>2</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420002</default> </attribute> @@ -6916,10 +6905,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c3</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>3</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420003</default> </attribute> @@ -6999,10 +6984,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c4</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>4</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420004</default> </attribute> @@ -7082,10 +7063,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c5</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>5</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420005</default> </attribute> @@ -7165,10 +7142,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c6</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>6</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420006</default> </attribute> @@ -7248,10 +7221,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c7</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>7</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420007</default> </attribute> @@ -7331,10 +7300,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c8</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>8</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420008</default> </attribute> @@ -7414,10 +7379,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c9</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>9</default> - </attribute> - <attribute> <id>HUID</id> <default>0x00420009</default> </attribute> @@ -7497,10 +7458,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c10</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>10</default> - </attribute> - <attribute> <id>HUID</id> <default>0x0042000A</default> </attribute> @@ -7580,10 +7537,6 @@ <default>pu.obus_brick:k0:n0:s0:p00:c11</default> </attribute> <attribute> - <id>FAPI_POS</id> - <default>11</default> - </attribute> - <attribute> <id>HUID</id> <default>0x0042000B</default> </attribute> diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml index e9f71afd1..fe90c3f8e 100644 --- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml @@ -560,7 +560,7 @@ <default>physical:sys-0/node-0/proc-0/perv-17</default> </attribute> <!--TODO RTC:144077 POUNDV ATTRs are temporarily set to 1 for testing - purposes if we have a way to do attr overrides during standalone simics + purposes if we have a way to do attr overrides during standalone simics then we can get rid of these poundv attributes for this EQ--> <attribute> <id>POUNDV_BUCKET_NUM</id> @@ -3183,48 +3183,48 @@ </targetInstance> <targetInstance> - <id>sys0node0proc0npu0</id> - <type>unit-npu-nimbus</type> - <attribute> - <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-0/npu-0</default> - </attribute> - <attribute> - <id>CHIPLET_ID</id> - <default>0x05</default> - </attribute> - <attribute> - <id>CHIP_UNIT</id> - <default>0</default> - </attribute> - <attribute> - <id>CLASS</id> - <default>UNIT</default> - </attribute> - <attribute> - <id>FAPI_NAME</id> - <default>NA</default> - </attribute> - <attribute> - <id>HUID</id> - <default>0x00440000</default> - </attribute> - <attribute> - <id>ORDINAL_ID</id> - <default>0</default> - </attribute> - <attribute> - <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-0/perv-5</default> - </attribute> - <attribute> - <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-0/npu-0</default> - </attribute> - <attribute> - <id>TYPE</id> - <default>NPU</default> - </attribute> + <id>sys0node0proc0npu0</id> + <type>unit-npu-nimbus</type> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-0/npu-0</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x05</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>0</default> + </attribute> + <attribute> + <id>CLASS</id> + <default>UNIT</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>NA</default> + </attribute> + <attribute> + <id>HUID</id> + <default>0x00440000</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>0</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-0/perv-5</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-0/npu-0</default> + </attribute> + <attribute> + <id>TYPE</id> + <default>NPU</default> + </attribute> </targetInstance> <!-- Nimbus n0p0 obus-brick units --> <targetInstance> @@ -3247,10 +3247,6 @@ <default>0</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>0</default> </attribute> @@ -3284,10 +3280,6 @@ <default>1</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>1</default> </attribute> @@ -3321,10 +3313,6 @@ <default>2</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>2</default> </attribute> @@ -3358,10 +3346,6 @@ <default>9</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>9</default> </attribute> @@ -3395,10 +3379,6 @@ <default>10</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>10</default> </attribute> @@ -3432,10 +3412,6 @@ <default>11</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>11</default> </attribute> @@ -8620,10 +8596,6 @@ <default>12</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>12</default> </attribute> @@ -8657,10 +8629,6 @@ <default>13</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>13</default> </attribute> @@ -8694,10 +8662,6 @@ <default>14</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>14</default> </attribute> @@ -8731,10 +8695,6 @@ <default>15</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>15</default> </attribute> @@ -8768,10 +8728,6 @@ <default>16</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>16</default> </attribute> @@ -8805,10 +8761,6 @@ <default>17</default> </attribute> <attribute> - <id>OPTICS_CONFIG_MODE</id> - <default>NV</default> - </attribute> - <attribute> <id>CHIP_UNIT</id> <default>17</default> </attribute> @@ -8823,48 +8775,48 @@ </targetInstance> <targetInstance> - <id>sys0node0proc1npu0</id> - <type>unit-npu-nimbus</type> - <attribute> - <id>AFFINITY_PATH</id> - <default>affinity:sys-0/node-0/proc-1/npu-0</default> - </attribute> - <attribute> - <id>CHIPLET_ID</id> - <default>0x05</default> - </attribute> - <attribute> - <id>CHIP_UNIT</id> - <default>0</default> - </attribute> - <attribute> - <id>CLASS</id> - <default>UNIT</default> - </attribute> - <attribute> - <id>FAPI_NAME</id> - <default>NA</default> - </attribute> - <attribute> - <id>HUID</id> - <default>0x00440001</default> - </attribute> - <attribute> - <id>ORDINAL_ID</id> - <default>0</default> - </attribute> - <attribute> - <id>PARENT_PERVASIVE</id> - <default>physical:sys-0/node-0/proc-1/perv-5</default> - </attribute> - <attribute> - <id>PHYS_PATH</id> - <default>physical:sys-0/node-0/proc-1/npu-0</default> - </attribute> - <attribute> - <id>TYPE</id> - <default>NPU</default> - </attribute> + <id>sys0node0proc1npu0</id> + <type>unit-npu-nimbus</type> + <attribute> + <id>AFFINITY_PATH</id> + <default>affinity:sys-0/node-0/proc-1/npu-0</default> + </attribute> + <attribute> + <id>CHIPLET_ID</id> + <default>0x05</default> + </attribute> + <attribute> + <id>CHIP_UNIT</id> + <default>0</default> + </attribute> + <attribute> + <id>CLASS</id> + <default>UNIT</default> + </attribute> + <attribute> + <id>FAPI_NAME</id> + <default>NA</default> + </attribute> + <attribute> + <id>HUID</id> + <default>0x00440001</default> + </attribute> + <attribute> + <id>ORDINAL_ID</id> + <default>0</default> + </attribute> + <attribute> + <id>PARENT_PERVASIVE</id> + <default>physical:sys-0/node-0/proc-1/perv-5</default> + </attribute> + <attribute> + <id>PHYS_PATH</id> + <default>physical:sys-0/node-0/proc-1/npu-0</default> + </attribute> + <attribute> + <id>TYPE</id> + <default>NPU</default> + </attribute> </targetInstance> <targetInstance> <id>sys0node0proc1ppe0</id> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 8bb056751..978e79238 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -1692,7 +1692,7 @@ Cumulus: 3 per OBUS --> <targetType> <id>unit-obus-brick-power9</id> - <parent>unit-obus-power9</parent> + <parent>unit</parent> <attribute> <id>TYPE</id> <default>OBUS_BRICK</default> |