summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorPrachi Gupta <pragupta@us.ibm.com>2017-05-01 15:49:40 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-05-23 14:03:57 -0400
commit6d153811271a104cd4471633e19d8b51c664fe5d (patch)
treea534b2d375f16e5993e1c0814d8b79d9eee4ba08 /src/usr
parent58a4a24d65473e5611db1fc11e2023a1370968d0 (diff)
downloadtalos-hostboot-6d153811271a104cd4471633e19d8b51c664fe5d.tar.gz
talos-hostboot-6d153811271a104cd4471633e19d8b51c664fe5d.zip
define TARGET_TYPE_NPU
Change-Id: I80d6b6ae23102018f2e86ec5b38282029e841e6c RTC:171597 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39913 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: William G. Hoffa <wghoffa@us.ibm.com> Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/targeting/common/Targets.pm1
-rw-r--r--src/usr/targeting/common/entitypath.C2
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl45
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml8
-rw-r--r--src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml104
-rwxr-xr-xsrc/usr/targeting/common/xmltohb/target_types.xml31
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml105
7 files changed, 294 insertions, 2 deletions
diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
index 990a9c66f..2bdbedf06 100644
--- a/src/usr/targeting/common/Targets.pm
+++ b/src/usr/targeting/common/Targets.pm
@@ -64,6 +64,7 @@ my %maxInstance = (
"CAPP" => 2,
"SBE" => 1,
"OBUS_BRICK" => 12,
+ "NPU" => 1,
"MI" => 4,
"OCC" => 1,
);
diff --git a/src/usr/targeting/common/entitypath.C b/src/usr/targeting/common/entitypath.C
index 11b359c06..913a13a7f 100644
--- a/src/usr/targeting/common/entitypath.C
+++ b/src/usr/targeting/common/entitypath.C
@@ -418,6 +418,8 @@ const char* EntityPath::pathElementTypeAsString(
return "NV";
case TYPE_OBUS_BRICK:
return "OBUS_BRICK";
+ case TYPE_NPU:
+ return "NPU";
case TYPE_SBE:
return "SBE";
case TYPE_PPE:
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index b4b06311c..55cb75bc3 100755
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -84,6 +84,7 @@ use constant
MAX_MBA_PER_MEMBUF => 2,
MAX_OBUS_PER_PROC => 4,
MAX_OBUS_BRICK_PER_PROC => 12,
+ MAX_NPU_PER_PROC => 1,
MAX_PPE_PER_PROC => 51, #Only 21, but they are sparsely populated
MAX_PERV_PER_PROC => 56, #Only 42, but they are sparsely populated
MAX_CAPP_PER_PROC => 2,
@@ -117,6 +118,7 @@ use constant
ARCH_LIMIT_MI_PER_PROC => MAX_MI_PER_PROC,
ARCH_LIMIT_CAPP_PER_PROC => MAX_CAPP_PER_PROC,
ARCH_LIMIT_DMI_PER_MI => 2,
+ ARCH_LIMIT_NPU_PER_PROC => MAX_NPU_PER_PROC,
ARCH_LIMIT_OBUS_PER_PROC => MAX_OBUS_PER_PROC,
ARCH_LIMIT_OBUS_BRICK_PER_OBUS => MAX_OBUS_BRICK_PER_PROC / MAX_OBUS_PER_PROC,
ARCH_LIMIT_SBE_PER_PROC => MAX_SBE_PER_PROC,
@@ -2215,6 +2217,7 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++)
$proc_ordinal_id, \@fsi, \@altfsi, $fru_id, $hwTopology,
\%fapiPosH,\%voltageRails );
+ generate_npu($proc,0,0,$ipath);
generate_occ($proc, $proc_ordinal_id);
generate_nx($proc,$proc_ordinal_id,$node);
@@ -5508,6 +5511,48 @@ sub generate_sbe
";
}
+sub generate_npu
+{
+ my ($proc, $npu, $ordinalId, $ipath) = @_;
+ my $uidstr = sprintf("0x%02X44%04X",${node},$proc*MAX_NPU_PER_PROC + $npu);
+
+ my $fapi_name = "NA";
+ my $path = "sys-$sys/node-$node/proc-$proc/npu-$npu";
+
+ print "
+<targetInstance>
+ <id>sys${sys}node${node}proc${proc}npu$npu</id>
+ <type>unit-npu-power9</type>
+ <attribute><id>HUID</id><default>${uidstr}</default></attribute>
+ <attribute><id>FAPI_NAME</id><default>$fapi_name</default></attribute>
+ <attribute>
+ <id>PHYS_PATH</id>
+ <default>physical:$path</default>
+ </attribute>
+ <attribute>
+ <id>AFFINITY_PATH</id>
+ <default>affinity:$path</default>
+ </attribute>
+ <attribute>
+ <id>ORDINAL_ID</id>
+ <default>$ordinalId</default>
+ </attribute>
+ <compileAttribute>
+ <id>INSTANCE_PATH</id>
+ <default>instance:$ipath/npu$npu</default>
+ </compileAttribute>
+ <attribute>
+ <id>CHIP_UNIT</id>
+ <default>$npu</default>
+ </attribute>
+ <attribute>
+ <id>REL_POS</id>
+ <default>$npu</default>
+ </attribute>
+</targetInstance>
+";
+}
+
sub generate_obus_brick
{
my ($proc, $obus, $ipath) = @_;
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index a838d2c98..c777158a9 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -354,14 +354,18 @@
<name>OBUS_BRICK</name>
<value>66</value>
</enumerator>
+ <enumerator>
+ <name>NPU</name>
+ <value>67</value>
+ </enumerator>
<!-- add any new types here, and increment TEST_FAIL and LAST_IN_RANGE -->
<enumerator>
<name>TEST_FAIL</name>
- <value>67</value>
+ <value>68</value>
</enumerator>
<enumerator>
<name>LAST_IN_RANGE</name>
- <value>68</value>
+ <value>69</value>
</enumerator>
<default>NA</default>
</enumerationType>
diff --git a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
index 61195d186..3a94aaf9c 100644
--- a/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_NIMBUS.system.xml
@@ -3204,6 +3204,58 @@
</attribute>
</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>DECONFIG_GARDABLE</id>
+ <default>1</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>NA</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>0</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>
<id>sys0node0proc0obus0obus_brick0</id>
@@ -8791,6 +8843,58 @@
</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>DECONFIG_GARDABLE</id>
+ <default>1</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>NA</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>1</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>
<type>unit-ppe-power9</type>
<attribute><id>HUID</id><default>0x002B0033</default></attribute>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index b40960669..86ac8ed04 100755
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -2264,6 +2264,37 @@
</attribute>
</targetType>
+<!-- One NPU per proc -->
+<targetType>
+ <id>unit-npu-power9</id>
+ <parent>unit</parent>
+ <attribute>
+ <id>TYPE</id>
+ <default>NPU</default>
+ </attribute>
+ <attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute>
+ <attribute><id>HUID</id></attribute>
+ <attribute><id>PARENT_PERVASIVE</id></attribute>
+</targetType>
+
+<targetType>
+ <id>unit-npu-nimbus</id>
+ <parent>unit-npu-power9</parent>
+ <attribute>
+ <id>MODEL</id>
+ <default>NIMBUS</default>
+ </attribute>
+</targetType>
+
+<targetType>
+ <id>unit-npu-cumulus</id>
+ <parent>unit-npu-power9</parent>
+ <attribute>
+ <id>MODEL</id>
+ <default>CUMULUS</default>
+ </attribute>
+</targetType>
+
<!-- PPE
Nimbus : 21, including the SBE (1 SBE, 1 Powerbus/Fabric PPE,
4 GPEs, 12 CMEs, and 3 IO PPEs.
diff --git a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
index 9830fef4c..ac19f289a 100644
--- a/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
+++ b/src/usr/targeting/common/xmltohb/vbu_NIMBUS.system.xml
@@ -3339,6 +3339,58 @@
</attribute>
</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>DECONFIG_GARDABLE</id>
+ <default>1</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>NA</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>0</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 PPE units
Up to 18 PPEs per Nimbus, only create 2 in this config for now -->
<targetInstance>
@@ -8668,6 +8720,59 @@
</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>DECONFIG_GARDABLE</id>
+ <default>1</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_NAME</id>
+ <default>NA</default>
+ </attribute>
+ <attribute>
+ <id>FAPI_POS</id>
+ <default>1</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>
<type>unit-ppe-power9</type>
<attribute><id>HUID</id><default>0x000B0015</default></attribute>
OpenPOWER on IntegriCloud