summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/fapi2/test/fapi2GetChildrenTest.H104
-rw-r--r--src/usr/fapi2/test/fapi2TestUtils.H3
-rw-r--r--src/usr/hwas/common/pgLogic.C22
-rw-r--r--src/usr/hwas/hwasPlat.C5
-rw-r--r--src/usr/hwas/test/hwas1test.H8
-rw-r--r--src/usr/isteps/istep15/host_start_stop_engine.C2
-rw-r--r--src/usr/targeting/common/Targets.pm2
-rw-r--r--src/usr/targeting/common/xmltohb/simics_AXONE.system.xml471
-rw-r--r--src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml132
-rw-r--r--src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml128
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml21
11 files changed, 562 insertions, 336 deletions
diff --git a/src/usr/fapi2/test/fapi2GetChildrenTest.H b/src/usr/fapi2/test/fapi2GetChildrenTest.H
index 2617648aa..9eb595dcd 100644
--- a/src/usr/fapi2/test/fapi2GetChildrenTest.H
+++ b/src/usr/fapi2/test/fapi2GetChildrenTest.H
@@ -66,7 +66,6 @@ void test_fapi2GetChildren()
uint32_t l_targetHuid = 0xFFFFFFFF;
uint32_t l_actualSize = 0;
uint32_t l_expectedSize = 0;
- errlHndl_t l_err = nullptr;
int numTests = 0;
int numFails = 0;
@@ -611,17 +610,25 @@ void test_fapi2GetChildren()
TARGET_STATE_PRESENT).size(); } },
// CAPP pervasive has 1 CAPP child
- {PERV_CAPP_CUMULUS_CHILDREN,
+ {PERV_CAPP_AXONE_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
{ return ((i_unit == CAPP0_RANGE) || (i_unit == CAPP1_RANGE));},
[](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
{ return i_perv.getChildren<fapi2::TARGET_TYPE_CAPP>(
TARGET_STATE_PRESENT).size(); } },
- // OBUS pervasive has 3 OBUS BRICK children
- {PERV_OBUS_BRICK_CHILDREN,
+ // OBUS0,3 pervasive has 2 OBUS BRICK children
+ {PERV_OBUS_BRICK03_AXONE_CHILDREN,
[](TARGETING::ATTR_CHIP_UNIT_type i_unit)
- { return ((i_unit >= OBUS_LOW) && (i_unit <= OBUS_HIGH)); },
+ { return ((i_unit == OBUS_LOW+0) || (i_unit == OBUS_LOW+3)); },
+ [](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
+ { return i_perv.getChildren<fapi2::TARGET_TYPE_OBUS_BRICK>(
+ TARGET_STATE_PRESENT).size(); } },
+
+ // OBUS1,2 pervasive has 1 OBUS BRICK child
+ {PERV_OBUS_BRICK12_AXONE_CHILDREN,
+ [](TARGETING::ATTR_CHIP_UNIT_type i_unit)
+ { return ((i_unit == OBUS_LOW+1) || (i_unit == OBUS_LOW+2)); },
[](Target<fapi2::TARGET_TYPE_PERV>& i_perv)
{ return i_perv.getChildren<fapi2::TARGET_TYPE_OBUS_BRICK>(
TARGET_STATE_PRESENT).size(); } },
@@ -750,9 +757,9 @@ void test_fapi2GetChildren()
if(candidateTarget == nullptr)
{
- TS_FAIL("test_fapi2GetChildren:: candidateTarget not found");
+ TS_FAIL("test_fapi2GetChildren:: candidateTarget not found - test %d", i);
numFails++;
- break;
+ continue;
}
l_targetHuid = TARGETING::get_huid(candidateTarget);
@@ -764,9 +771,9 @@ void test_fapi2GetChildren()
if(l_actualSize != l_expectedSize)
{
- TS_FAIL("test_fapi2GetChildren:: children of pervasive mismatch");
+ TS_FAIL("test_fapi2GetChildren:: children of pervasive mismatch for %.8X (exp=%d,act=%d)",
+ l_targetHuid,l_expectedSize,l_actualSize);
numFails++;
- break;
}
}
@@ -780,31 +787,6 @@ void test_fapi2GetChildren()
}while(0);
- if(l_actualSize != l_expectedSize)
- {
- /*@
- * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE
- * @moduleid fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_TEST
- * @reasoncode fapi2::RC_INVALID_CHILD_COUNT
- * @userdata1[0:31] Expected Child Count
- * @userdata1[32:63] Actual Child Count
- * @userdata2 Parent HUID
- * @devdesc Invalid amount of child cores found
- * on a proc
- */
- l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_TEST,
- fapi2::RC_INVALID_CHILD_COUNT,
- TWO_UINT32_TO_UINT64(
- TO_UINT32(
- l_expectedSize),
- TO_UINT32(
- l_actualSize)),
- l_targetHuid,
- true/*SW Error*/);
- errlCommit(l_err,HWPF_COMP_ID);
- TS_FAIL("test_fapi2GetChildren Fail, for HUID: %d , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
- }
FAPI_INF("fapi2GetChildrenTest:: Test Complete. %d/%d fails", numFails , numTests);
}
@@ -818,7 +800,6 @@ void test_fapi2GetChildrenFilter()
uint32_t l_targetHuid = 0xFFFFFFFF;
uint32_t l_actualSize = 0;
uint32_t l_expectedSize = 0;
- errlHndl_t l_err = nullptr;
TARGETING::Target * l_proc = nullptr;
TARGETING::TargetHandleList l_chipList;
do
@@ -835,7 +816,7 @@ void test_fapi2GetChildrenFilter()
}
else
{
- TS_FAIL("test_fapi2GetChildren Fail: could not find any proc, skipping tests");
+ TS_FAIL("test_fapi2GetChildrenFilter Fail: could not find any proc, skipping tests");
numFails++;
break;
}
@@ -876,7 +857,7 @@ void test_fapi2GetChildrenFilter()
if(l_actualSize != l_expectedSize)
{
numFails++;
- break;
+ TS_FAIL("test_fapi2GetChildrenFilter Fail on PERV/ALL_CORES, for HUID: 0x%.8X , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
}
// PERV - TARGET_FILTER_CORE1
@@ -890,7 +871,7 @@ void test_fapi2GetChildrenFilter()
if(l_actualSize != l_expectedSize)
{
numFails++;
- break;
+ TS_FAIL("test_fapi2GetChildrenFilter Fail on PERV/CORE1, for HUID: 0x%.8X , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
}
if (isHwValid(l_proc, MY_MC))
@@ -906,13 +887,26 @@ void test_fapi2GetChildrenFilter()
if(l_actualSize != l_expectedSize)
{
numFails++;
- break;
+ TS_FAIL("test_fapi2GetChildrenFilter Fail on PERV/ALL_MC, for HUID: 0x%.8X , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
}
}
// PERV - SYNC_MODE_ALL_IO_EXCEPT_NEST
- // NOTE: 2 of 4 OBUS are Cumulus only, so expect 8 instead of 10 returned
- l_expectedSize = 8;
+ l_expectedSize = 0;
+ TARGETING::ATTR_MODEL_type l_model = l_proc->getAttr<TARGETING::ATTR_MODEL>();
+ if (l_model == TARGETING::MODEL_NIMBUS)
+ {
+ // NOTE: 2 of 4 OBUS are Cumulus only, so expect 8 instead of 10 returned
+ l_expectedSize = 8;
+ }
+ else if (l_model == TARGETING::MODEL_CUMULUS)
+ {
+ l_expectedSize = 10;
+ }
+ else if (l_model == TARGETING::MODEL_AXONE)
+ {
+ l_expectedSize = 10;
+ }
l_childPERVs = fapi2_procTarget.getChildren<fapi2::TARGET_TYPE_PERV>(
TARGET_FILTER_SYNC_MODE_ALL_IO_EXCEPT_NEST,
TARGET_STATE_PRESENT);
@@ -922,37 +916,11 @@ void test_fapi2GetChildrenFilter()
if(l_actualSize != l_expectedSize)
{
numFails++;
- break;
+ TS_FAIL("test_fapi2GetChildrenFilter Fail on PERV/ALL_IO_EXCEPT_NEST, for HUID: 0x%.8X , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
}
}while(0);
- if(l_actualSize != l_expectedSize)
- {
- /*@
- * @errortype ERRORLOG::ERRL_SEV_UNRECOVERABLE
- * @moduleid fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_FILTER_TEST
- * @reasoncode fapi2::RC_INVALID_CHILD_COUNT
- * @userdata1[0:31] Expected Child Count
- * @userdata1[32:63] Actual Child Count
- * @userdata2 Parent HUID
- * @devdesc Invalid amount of child cores found
- * on a proc
- */
- l_err = new ERRORLOG::ErrlEntry(ERRORLOG::ERRL_SEV_UNRECOVERABLE,
- fapi2::MOD_FAPI2_PLAT_GET_CHILDREN_FILTER_TEST,
- fapi2::RC_INVALID_CHILD_COUNT,
- TWO_UINT32_TO_UINT64(
- TO_UINT32(
- l_expectedSize),
- TO_UINT32(
- l_actualSize)),
- l_targetHuid,
- true/*SW Error*/);
- errlCommit(l_err,HWPF_COMP_ID);
- TS_FAIL("test_fapi2GetChildrenFilter Fail, for HUID: 0x%X , expected %d children , found %d ", l_targetHuid,l_expectedSize,l_actualSize );
- }
-
FAPI_INF("test_fapi2GetChildrenFilter: Test Complete. %d/%d fails", numFails , numTests);
}
diff --git a/src/usr/fapi2/test/fapi2TestUtils.H b/src/usr/fapi2/test/fapi2TestUtils.H
index 7b724a094..011538c63 100644
--- a/src/usr/fapi2/test/fapi2TestUtils.H
+++ b/src/usr/fapi2/test/fapi2TestUtils.H
@@ -225,7 +225,10 @@ enum PERVASIVE_CHILDREN {
PERV_OBUS_CHILDREN = 1,
PERV_CAPP_NIMBUS_CHILDREN = 1,
PERV_CAPP_CUMULUS_CHILDREN = 2,
+ PERV_CAPP_AXONE_CHILDREN = 1,
PERV_OBUS_BRICK_CHILDREN = 3,
+ PERV_OBUS_BRICK03_AXONE_CHILDREN = 2,
+ PERV_OBUS_BRICK12_AXONE_CHILDREN = 1,
PERV_MCBIST_CHILDREN = 1,
PERV_MCS_CHILDREN = 2,
PERV_MCA_CHILDREN = 4,
diff --git a/src/usr/hwas/common/pgLogic.C b/src/usr/hwas/common/pgLogic.C
index edcb41b9a..cd0aa9b19 100644
--- a/src/usr/hwas/common/pgLogic.C
+++ b/src/usr/hwas/common/pgLogic.C
@@ -31,6 +31,7 @@
#include <hwas/common/hwasError.H>
using namespace HWAS::COMMON;
+using namespace HWAS; //needed for trace macros
namespace PARTIAL_GOOD
{
@@ -258,6 +259,9 @@ namespace PARTIAL_GOOD
if (rulesIterator == pgRules_map.end())
{
+ HWAS_ERR( "No rules found for type %d",
+ i_target->getAttr<TARGETING::ATTR_TYPE>() );
+
// Target is missing from the table. This is an error, so break
// out of this section of code and return the appropriate error
// below.
@@ -345,6 +349,12 @@ namespace PARTIAL_GOOD
// the following error if applicable.
if ((l_errl == nullptr) && (o_targetPgLogic.size() == 0))
{
+ HWAS_ERR( "No rule found for Target %.8X of type %d",
+ get_huid(i_target),
+ i_target->getAttr<TARGETING::ATTR_TYPE>() );
+ uint64_t userdata1 = static_cast<uint64_t>(i_target->getAttr<TARGETING::ATTR_TYPE>());
+ userdata1 <<= 32;
+ userdata1 |= static_cast<uint64_t>(get_huid(i_target));
/*@
* @errortype
* @severity ERRL_SEV_UNRECOVERABLE
@@ -359,15 +369,16 @@ namespace PARTIAL_GOOD
*
* @custdesc A problem occured during IPL of the system:
* Internal Firmware Error
- * @userdata1 target type attribute
- * @userdata2 HUID of the target
+ * @userdata1[00:31] target type attribute
+ * @userdata1[32:63] HUID of the target
+ * @userdata2 Number of rules for this target type
*/
l_errl = hwasError(
ERRL_SEV_UNRECOVERABLE,
HWAS::MOD_FIND_RULES_FOR_TARGET,
HWAS::RC_NO_PG_LOGIC,
- i_target->getAttr<TARGETING::ATTR_TYPE>(),
- get_huid(i_target));
+ userdata1,
+ pgRules_map.size());
}
return l_errl;
@@ -482,8 +493,7 @@ namespace PARTIAL_GOOD
!= TARGETING::OPTICS_CONFIG_MODE_SMP)
&& ((i_pgData[N3_PG_INDEX] & NPU_R1_PG_MASK) != ALL_OFF_AG_MASK))
{
- TRACFCOMP(HWAS::g_trac_imp_hwas,
- "pDesc 0x%.8X - OBUS_BRICK pgData[%d]: "
+ HWAS_INF( "pDesc 0x%.8X - OBUS_BRICK pgData[%d]: "
"actual 0x%04X, expected 0x%04X - bad",
i_desc->getAttr<TARGETING::ATTR_HUID>(),
N3_PG_INDEX,
diff --git a/src/usr/hwas/hwasPlat.C b/src/usr/hwas/hwasPlat.C
index 1fc6f939d..0fd519cdb 100644
--- a/src/usr/hwas/hwasPlat.C
+++ b/src/usr/hwas/hwasPlat.C
@@ -1202,7 +1202,10 @@ errlHndl_t platPresenceDetect(TargetHandleList &io_targets)
DEVICE_CACHE_EEPROM_ADDRESS(present, EEPROM::VPD_PRIMARY));
errl = deviceRead(pTarget, &present, presentSize,
DEVICE_CACHE_EEPROM_ADDRESS(present, EEPROM::VPD_PRIMARY));
- errlCommit(errl, HWAS_COMP_ID);
+ if( errl )
+ {
+ errlCommit(errl, HWAS_COMP_ID);
+ }
// errl is now null, move on to next target
}
#endif
diff --git a/src/usr/hwas/test/hwas1test.H b/src/usr/hwas/test/hwas1test.H
index 759ad7ad7..306fea006 100644
--- a/src/usr/hwas/test/hwas1test.H
+++ b/src/usr/hwas/test/hwas1test.H
@@ -2354,6 +2354,7 @@ public:
break;
case TYPE_OBUS_BRICK:
{
+#ifndef CONFIG_AXONE //@todo-RTC:208518 - Add Axone OBUS_BRICK rules
//Two cases here:
//OBUS==SMP --> Target should be present regardless
// of PG
@@ -2385,7 +2386,7 @@ public:
TS_FAIL("testHWAS"
"checkPartialGoodForDescendants> "
"functional = 0x%x, should be true "
- "because"
+ "because "
"OBUS_BRICK is SMP: PG = 0x%04x. "
"pDesc HUID 0x%.8x",
checkPartialGoodForDescendants(
@@ -2410,7 +2411,7 @@ public:
TS_FAIL("testHWAS"
"checkPartialGoodForDescendants> "
"functional = 0x%x, should be "
- "false because"
+ "false because "
"OBUS_BRICK is NVLINK: PG = "
"0x%04x. "
"pDesc HUID 0x%.8x",
@@ -2426,10 +2427,12 @@ public:
pgData[VPD_CP00_PG_N3_INDEX] =
(uint16_t)VPD_CP00_PG_N3_GOOD;
+#endif
break;
}
case TYPE_NPU:
+#ifndef CONFIG_AXONE //@todo-RTC:208518 - Add Axone NPU rules
TS_INFO( "testHWAScheckPartialGoodForDescendants: "
"NPU is not functional");
pgData[VPD_CP00_PG_N3_INDEX] |=
@@ -2449,6 +2452,7 @@ public:
pgData[VPD_CP00_PG_N3_INDEX] =
(uint16_t)VPD_CP00_PG_N3_GOOD;
+#endif
break;
case TYPE_PERV:
diff --git a/src/usr/isteps/istep15/host_start_stop_engine.C b/src/usr/isteps/istep15/host_start_stop_engine.C
index a3b2e21f4..b89804fe3 100644
--- a/src/usr/isteps/istep15/host_start_stop_engine.C
+++ b/src/usr/isteps/istep15/host_start_stop_engine.C
@@ -55,7 +55,7 @@ void* host_start_stop_engine (void *io_pArgs)
{
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_start_stop_engine entry" );
ISTEP_ERROR::IStepError l_StepError;
- errlHndl_t l_errl = NULL;
+ errlHndl_t l_errl __attribute__((unused)) = NULL;
// Cast to void just to get around unused var warning if #ifdef's dont work
// out to actually use the l_errl variable
diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
index 2c60ae3eb..d903a8f5c 100644
--- a/src/usr/targeting/common/Targets.pm
+++ b/src/usr/targeting/common/Targets.pm
@@ -1328,6 +1328,7 @@ sub setCommonAttrForChiplet
}
elsif ($tgt_type eq "OBUS_BRICK")
{
+ #todo-RTC:209409-Handle Axone layout
$unit_pos = $pos%3;
}
elsif ($tgt_type eq "SMPGROUP")
@@ -1528,6 +1529,7 @@ sub getPervasiveForUnit
my $offset = 0;
for my $obrick (0..$maxInstance{"OBUS_BRICK"}-1)
{
+ #todo-RTC:209409-Handle Axone layout
$offset += (($obrick%3 == 0) && ($obrick != 0)) ? 1 : 0;
$unitToPervasive{"OBUS_BRICK$obrick"}
= PERVASIVE_PARENT_OBUS_OFFSET + $offset;
diff --git a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml
index 011d02371..51db0299c 100644
--- a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml
@@ -53,13 +53,19 @@
* PEC 2 has 3 PHBs
* Each Axone has 1 XBUS chiplet (1 XBUS Chiplet translates to multiple xbus units)
* Each Axone has 4 OBUS (OB0 to OB3)
- * Each OBUS has 3 OBUS_BRICK
+ * Each OBUS has up to 2 OBUS_BRICKs
+ * OBUS0 has 2 OBUS_BRICKs
+ * OBUS1 has 1 OBUS_BRICK
+ * OBUS2 has 1 OBUS_BRICK
+ * OBUS3 has 2 OBUS_BRICKs
+ * Each Axone has 3 NPU units, each associated with 2 OBUS_BRICKs
+ * NPU0 is associated with OBUS0, used for NVLINK ( 4 x4 links).
+ * NPU1 is associated with OBUS1/2, used for OpenCAPI ( 1 x8 link).
+ * NPU2 is associated with OBUS3, used for NVLINK ( 4 x4 links).
* Each Axone has 21 PPE units (including the SBE):
* 1 SBE, 1 Powerbus/Fabric PPE, 4 GPEs, 12 CMEs, and 3 IO PPEs.
* Each chiplet existing in an Axone has 1 equivalent PERV unit
- * Each Axone has 2 CAPP units ##TBD## has 2 sys0node0proc0capp0 units
- * with same target ID...input MRW has capp0 and capp1...something
- * wrong in the processMrw.pl (same observed for Witherspoon)
+ * Each Axone has 1 CAPP unit
* Each Axone has 1 OCC unit
- p9Proc0(axone chip)
@@ -3487,11 +3493,11 @@
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus0obus_brick2</id>
+ <id>sys0node0proc0obus1obus_brick0</id>
<type>unit-obus-brick-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-0/obus_brick-2</default>
+ <default>affinity:sys-0/node-0/proc-0/obus-1/obus_brick-0</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
@@ -3499,7 +3505,7 @@
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x09</default>
+ <default>0x0A</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
@@ -3519,24 +3525,24 @@
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-9</default>
+ <default>physical:sys-0/node-0/proc-0/perv-10</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-0/obus_brick-2</default>
+ <default>physical:sys-0/node-0/proc-0/obus-1/obus_brick-0</default>
</attribute>
<attribute>
<id>REL_POS</id>
- <default>2</default>
+ <default>0</default>
</attribute>
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus1obus_brick0</id>
+ <id>sys0node0proc0obus2obus_brick0</id>
<type>unit-obus-brick-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-1/obus_brick-0</default>
+ <default>affinity:sys-0/node-0/proc-0/obus-2/obus_brick-0</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
@@ -3544,15 +3550,15 @@
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0A</default>
+ <default>0x0B</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c3</default>
+ <default>pu.obus_brick:k0:n0:s0:p00:c4</default>
</attribute>
<attribute>
<id>HUID</id>
- <default>0x00420003</default>
+ <default>0x00420004</default>
</attribute>
<attribute>
<id>OBUS_SLOT_INDEX</id>
@@ -3564,11 +3570,11 @@
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ <default>physical:sys-0/node-0/proc-0/perv-11</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-1/obus_brick-0</default>
+ <default>physical:sys-0/node-0/proc-0/obus-2/obus_brick-0</default>
</attribute>
<attribute>
<id>REL_POS</id>
@@ -3577,11 +3583,11 @@
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus1obus_brick1</id>
+ <id>sys0node0proc0obus3obus_brick0</id>
<type>unit-obus-brick-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-1/obus_brick-1</default>
+ <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-0</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
@@ -3589,15 +3595,15 @@
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0A</default>
+ <default>0x0C</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c4</default>
+ <default>pu.obus_brick:k0:n0:s0:p00:c6</default>
</attribute>
<attribute>
<id>HUID</id>
- <default>0x00420004</default>
+ <default>0x00420006</default>
</attribute>
<attribute>
<id>OBUS_SLOT_INDEX</id>
@@ -3609,24 +3615,24 @@
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ <default>physical:sys-0/node-0/proc-0/perv-12</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-1/obus_brick-1</default>
+ <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-0</default>
</attribute>
<attribute>
<id>REL_POS</id>
- <default>1</default>
+ <default>0</default>
</attribute>
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus1obus_brick2</id>
+ <id>sys0node0proc0obus3obus_brick1</id>
<type>unit-obus-brick-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-1/obus_brick-2</default>
+ <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-1</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
@@ -3634,7 +3640,7 @@
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0A</default>
+ <default>0x0C</default>
</attribute>
<attribute>
<id>FAPI_NAME</id>
@@ -3642,7 +3648,7 @@
</attribute>
<attribute>
<id>HUID</id>
- <default>0x00420005</default>
+ <default>0x00420007</default>
</attribute>
<attribute>
<id>OBUS_SLOT_INDEX</id>
@@ -3654,56 +3660,53 @@
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ <default>physical:sys-0/node-0/proc-0/perv-12</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-1/obus_brick-2</default>
+ <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-1</default>
</attribute>
<attribute>
<id>REL_POS</id>
- <default>3</default>
+ <default>1</default>
</attribute>
</targetInstance>
+
+<!-- ===================================================================== -->
+<!-- NPU Units for node 0 -->
+<!-- ===================================================================== -->
<targetInstance>
- <id>sys0node0proc0obus2obus_brick0</id>
- <type>unit-obus-brick-axone</type>
+ <!-- Note : NPU0 covers OBUS0 -->
+ <id>sys0node0proc0npu0</id>
+ <type>unit-npu-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-2/obus_brick-0</default>
+ <default>affinity:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
- <default>6</default>
+ <default>0</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0B</default>
- </attribute>
- <attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c6</default>
+ <default>0x05</default>
</attribute>
<attribute>
<id>HUID</id>
- <default>0x00420006</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
+ <default>0x00430000</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
- <default>6</default>
+ <default>0</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-11</default>
+ <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/obus-2/obus_brick-0</default>
+ <default>physical:sys-0/node-0/proc-0/npu-0</default>
</attribute>
<attribute>
<id>REL_POS</id>
@@ -3712,228 +3715,114 @@
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus2obus_brick1</id>
- <type>unit-obus-brick-axone</type>
+ <!-- Note : NPU1 covers OBUS1 and OBUS2, but OBUS2 isn't wired out -->
+ <!-- on the Swift configuration -->
+ <id>sys0node0proc0npu1</id>
+ <type>unit-npu-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-2/obus_brick-1</default>
+ <default>affinity:sys-0/node-0/proc-0/npu-1</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
- <default>7</default>
- </attribute>
- <attribute>
- <id>CHIPLET_ID</id>
- <default>0x0B</default>
- </attribute>
- <attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c7</default>
- </attribute>
- <attribute>
- <id>HUID</id>
- <default>0x00420007</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
- </attribute>
- <attribute>
- <id>ORDINAL_ID</id>
- <default>7</default>
- </attribute>
- <attribute>
- <id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-11</default>
- </attribute>
- <attribute>
- <id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-2/obus_brick-1</default>
- </attribute>
- <attribute>
- <id>REL_POS</id>
<default>1</default>
</attribute>
-</targetInstance>
-
-<targetInstance>
- <id>sys0node0proc0obus2obus_brick2</id>
- <type>unit-obus-brick-axone</type>
- <attribute>
- <id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-2/obus_brick-2</default>
- </attribute>
- <attribute>
- <id>CHIP_UNIT</id>
- <default>8</default>
- </attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0B</default>
+ <default>0x05</default>
</attribute>
<attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c8</default>
+ <id>CLASS</id>
+ <default>UNIT</default>
</attribute>
<attribute>
<id>HUID</id>
- <default>0x00420008</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
+ <default>0x00430001</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
- <default>8</default>
+ <default>1</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-11</default>
+ <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/obus-2/obus_brick-2</default>
+ <default>physical:sys-0/node-0/proc-0/npu-1</default>
</attribute>
<attribute>
- <id>REL_POS</id>
- <default>2</default>
- </attribute>
-</targetInstance>
-
-<targetInstance>
- <id>sys0node0proc0obus3obus_brick0</id>
- <type>unit-obus-brick-axone</type>
- <attribute>
- <id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-0</default>
- </attribute>
- <attribute>
- <id>CHIP_UNIT</id>
- <default>9</default>
- </attribute>
- <attribute>
- <id>CHIPLET_ID</id>
- <default>0x0C</default>
- </attribute>
- <attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c9</default>
- </attribute>
- <attribute>
- <id>HUID</id>
- <default>0x00420009</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
- </attribute>
- <attribute>
- <id>ORDINAL_ID</id>
- <default>9</default>
- </attribute>
- <attribute>
- <id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-12</default>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
</attribute>
<attribute>
- <id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-0</default>
+ <id>REL_POS</id>
+ <default>1</default>
</attribute>
<attribute>
- <id>REL_POS</id>
- <default>0</default>
+ <id>TYPE</id>
+ <default>NPU</default>
</attribute>
</targetInstance>
<targetInstance>
- <id>sys0node0proc0obus3obus_brick1</id>
- <type>unit-obus-brick-axone</type>
+ <!-- Note : NPU2 covers OBUS3 -->
+ <id>sys0node0proc0npu2</id>
+ <type>unit-npu-axone</type>
<attribute>
<id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-1</default>
+ <default>affinity:sys-0/node-0/proc-0/npu-2</default>
</attribute>
<attribute>
<id>CHIP_UNIT</id>
- <default>10</default>
+ <default>2</default>
</attribute>
<attribute>
<id>CHIPLET_ID</id>
- <default>0x0C</default>
+ <default>0x03</default>
</attribute>
<attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c10</default>
+ <id>CLASS</id>
+ <default>UNIT</default>
</attribute>
<attribute>
<id>HUID</id>
- <default>0x0042000A</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
+ <default>0x00430002</default>
</attribute>
<attribute>
<id>ORDINAL_ID</id>
- <default>10</default>
+ <default>2</default>
</attribute>
<attribute>
<id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-12</default>
+ <default>physical:sys-0/node-0/proc-0/perv-3</default>
</attribute>
<attribute>
<id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-1</default>
- </attribute>
- <attribute>
- <id>REL_POS</id>
- <default>1</default>
- </attribute>
-</targetInstance>
-
-<targetInstance>
- <id>sys0node0proc0obus3obus_brick2</id>
- <type>unit-obus-brick-axone</type>
- <attribute>
- <id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/obus-3/obus_brick-2</default>
- </attribute>
- <attribute>
- <id>CHIP_UNIT</id>
- <default>11</default>
- </attribute>
- <attribute>
- <id>CHIPLET_ID</id>
- <default>0x0C</default>
- </attribute>
- <attribute>
- <id>FAPI_NAME</id>
- <default>pu.obus_brick:k0:n0:s0:p00:c11</default>
- </attribute>
- <attribute>
- <id>HUID</id>
- <default>0x0042000B</default>
- </attribute>
- <attribute>
- <id>OBUS_SLOT_INDEX</id>
- <default>0xFF</default>
+ <default>physical:sys-0/node-0/proc-0/npu-2</default>
</attribute>
<attribute>
- <id>ORDINAL_ID</id>
- <default>11</default>
- </attribute>
- <attribute>
- <id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-12</default>
- </attribute>
- <attribute>
- <id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/obus-3/obus_brick-2</default>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
</attribute>
<attribute>
<id>REL_POS</id>
<default>2</default>
</attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>NPU</default>
+ </attribute>
</targetInstance>
<!-- ===================================================================== -->
@@ -4069,54 +3958,6 @@
</attribute>
</targetInstance>
-<targetInstance>
- <id>sys0node0proc0capp1</id>
- <type>unit-capp-axone</type>
- <attribute>
- <id>AFFINITY_PATH</id>
- <default>affinity:sys-0/node-0/proc-0/capp-1</default>
- </attribute>
- <attribute>
- <id>CHIP_UNIT</id>
- <default>1</default>
- </attribute>
- <attribute>
- <id>CHIPLET_ID</id>
- <default>4</default>
- </attribute>
- <attribute>
- <id>FAPI_NAME</id>
- <default>pu.capp:k0:n0:s0:p00:c1</default>
- </attribute>
- <attribute>
- <id>FAPI_POS</id>
- <default>1</default>
- </attribute>
- <attribute>
- <id>HUID</id>
- <default>0x00210001</default>
- </attribute>
- <attribute>
- <id>MRU_ID</id>
- <default>0x02090001</default>
- </attribute>
- <attribute>
- <id>ORDINAL_ID</id>
- <default>1</default>
- </attribute>
- <attribute>
- <id>PARENT_PERVASIVE</id>
- <default>physical:sys-0/node-0/proc-0/perv-2</default>
- </attribute>
- <attribute>
- <id>PHYS_PATH</id>
- <default>physical:sys-0/node-0/proc-0/capp-1</default>
- </attribute>
- <attribute>
- <id>REL_POS</id>
- <default>1</default>
- </attribute>
-</targetInstance>
<!-- ===================================================================== -->
<!-- OCC Units -->
@@ -12584,6 +12425,122 @@
</targetInstance>
<targetInstance>
+ <id>sys0node0proc0perv10</id>
+ <type>unit-perv-axone</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c10</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000A</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
+<targetInstance>
+ <id>sys0node0proc0perv11</id>
+ <type>unit-perv-axone</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c11</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000B</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
+<targetInstance>
<id>sys0node0proc0perv12</id>
<type>unit-perv-axone</type>
<attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
index 0fbb351c3..17aee231d 100644
--- a/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS.system.xml
@@ -8955,6 +8955,138 @@
<default>PERV</default>
</attribute>
</targetInstance>
+
+<targetInstance>
+ <id>sys0node0proc0perv10</id>
+ <type>unit-perv-cumulus</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+
+
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c10</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000A</default>
+ </attribute>
+
+
+
+
+
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>RESOURCE_IS_CRITICAL</id>
+ <default>0</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
+<targetInstance>
+ <id>sys0node0proc0perv11</id>
+ <type>unit-perv-cumulus</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c11</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000B</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>RESOURCE_IS_CRITICAL</id>
+ <default>0</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
<targetInstance>
<id>sys0node0proc0perv12</id>
<type>unit-perv-cumulus</type>
diff --git a/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml b/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
index d7f4cfa10..6e0177ea2 100644
--- a/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_CUMULUS_CDIMM.system.xml
@@ -8947,6 +8947,134 @@
<default>PERV</default>
</attribute>
</targetInstance>
+
+
+<targetInstance>
+ <id>sys0node0proc0perv10</id>
+ <type>unit-perv-cumulus</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+
+
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c10</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000A</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-10</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>10</default>
+ </attribute>
+ <attribute>
+ <id>RESOURCE_IS_CRITICAL</id>
+ <default>0</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
+<targetInstance>
+ <id>sys0node0proc0perv11</id>
+ <type>unit-perv-cumulus</type>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CHIPLET_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>CLASS</id>
+ <default>UNIT</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>pu.perv:k0:n0:s0:p00:c11</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>HUID</id>
+ <default>0x002C000B</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:sys-0/node-0/proc-0/perv-11</default>
+ </attribute>
+ <attribute>
+ <id>PRIMARY_CAPABILITIES</id>
+ <default>
+ <field><id>reserved</id><value>0</value></field>
+ <field><id>supportsFsiScom</id><value>1</value></field>
+ <field><id>supportsInbandScom</id><value>0</value></field>
+ <field><id>supportsXscom</id><value>1</value></field>
+ </default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>11</default>
+ </attribute>
+ <attribute>
+ <id>RESOURCE_IS_CRITICAL</id>
+ <default>0</default>
+ </attribute>
+ <attribute>
+ <id>TYPE</id>
+ <default>PERV</default>
+ </attribute>
+</targetInstance>
+
<targetInstance>
<id>sys0node0proc0perv12</id>
<type>unit-perv-cumulus</type>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index 190ea86fc..3ebc3b5c7 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -3111,6 +3111,7 @@
</attribute>
</targetType>
+ <!-- Three NPUs per proc -->
<targetType>
<id>unit-npu-axone</id>
<parent>unit-npu-power9</parent>
@@ -3118,8 +3119,26 @@
<id>MODEL</id>
<default>AXONE</default>
</attribute>
+ <attribute>
+ <default>
+ <field>
+ <id>childRollupAllowed</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>deconfigureParent</id>
+ <value>1</value>
+ </field>
+ <field>
+ <id>valid</id>
+ <value>1</value>
+ </field>
+ </default>
+ <id>PARENT_DECONFIG_RULES</id>
+ </attribute>
</targetType>
+ <!-- One NPU per proc -->
<targetType>
<id>unit-npu-cumulus</id>
<parent>unit-npu-power9</parent>
@@ -3129,6 +3148,7 @@
</attribute>
</targetType>
+ <!-- One NPU per proc -->
<targetType>
<id>unit-npu-nimbus</id>
<parent>unit-npu-power9</parent>
@@ -3138,7 +3158,6 @@
</attribute>
</targetType>
- <!-- One NPU per proc -->
<targetType>
<id>unit-npu-power9</id>
<parent>unit</parent>
OpenPOWER on IntegriCloud