summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantosh Puranik <santosh.puranik@in.ibm.com>2016-09-16 08:47:53 -0500
committerSachin Gupta <sgupta2m@in.ibm.com>2016-09-19 13:06:32 -0400
commit2b40e2e100c7a0725762c40865d36ac7639e12cc (patch)
tree96dba84c8bd0c7dbae89eaa298a9345e0f291243
parentd6dcd0125e002508ea665a5b71eb2019a0274c91 (diff)
downloadtalos-sbe-2b40e2e100c7a0725762c40865d36ac7639e12cc.tar.gz
talos-sbe-2b40e2e100c7a0725762c40865d36ac7639e12cc.zip
Unpack attributes for Pervasive targets
-- Reserve space for all 64 possible chiplets Change-Id: I21b431205c84c8502b98364eb4c2befc31cdf3d9 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29839 Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: SRINIVAS V. POLISETTY <srinivan@in.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29840 Reviewed-by: Santosh S. Puranik <santosh.puranik@in.ibm.com>
-rw-r--r--src/hwpf/include/plat/plat_target_parms.H3
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml40
-rw-r--r--src/tools/image/sbe_default_tool.c8
-rwxr-xr-xsrc/tools/scripts/ppeCreateAttrGetSetMacros.pl19
-rwxr-xr-xsrc/tools/scripts/ppeParseProcSbeFixed.pl2
5 files changed, 48 insertions, 24 deletions
diff --git a/src/hwpf/include/plat/plat_target_parms.H b/src/hwpf/include/plat/plat_target_parms.H
index dd2b8a74..730f10da 100644
--- a/src/hwpf/include/plat/plat_target_parms.H
+++ b/src/hwpf/include/plat/plat_target_parms.H
@@ -90,4 +90,7 @@ CONST_UINT32_T(TARGET_COUNT, CHIP_TARGET_COUNT +
SYSTEM_TARGET_COUNT +
MCAST_TARGET_COUNT);
+// Maximum possible Pervasive chiplets
+CONST_UINT32_T(MAX_PERV_CHIPLETS, 64);
+
#endif // __FAPI2_PPE_TARGET_PARMS__
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
index 23c49c20..345b4a06 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_sbe_attributes.xml
@@ -108,7 +108,7 @@
<entry>
<name>ATTR_CHIP_POS</name>
<value>0x01</value>
- </entry>
+ </entry>
<entry>
<name>ATTR_SCRATCH_UINT8_1</name>
<value>0x8</value>
@@ -205,6 +205,7 @@
</entry>
<entry>
<name>ATTR_CHIP_UNIT_POS</name>
+ <value>0x00</value> <!-- Unused -->
<value>0x01</value> <!-- PERV -->
<value>0x02</value> <!-- N0 -->
<value>0x03</value> <!-- N1 -->
@@ -226,6 +227,16 @@
<value>0x13</value> <!-- EP3 -->
<value>0x14</value> <!-- EP4 -->
<value>0x15</value> <!-- EP5 -->
+ <value>0x16</value> <!-- Unused -->
+ <value>0x17</value> <!-- Unused -->
+ <value>0x18</value> <!-- Unused -->
+ <value>0x19</value> <!-- Unused -->
+ <value>0x1A</value> <!-- Unused -->
+ <value>0x1B</value> <!-- Unused -->
+ <value>0x1C</value> <!-- Unused -->
+ <value>0x1D</value> <!-- Unused -->
+ <value>0x1E</value> <!-- Unused -->
+ <value>0x1F</value> <!-- Unused -->
<value>0x20</value> <!-- EC00 -->
<value>0x21</value> <!-- EC01 -->
<value>0x22</value> <!-- EC02 -->
@@ -250,6 +261,14 @@
<value>0x35</value> <!-- EC21 -->
<value>0x36</value> <!-- EC22 -->
<value>0x37</value> <!-- EC23 -->
+ <value>0x38</value> <!-- unused -->
+ <value>0x39</value> <!-- unused -->
+ <value>0x3A</value> <!-- unused -->
+ <value>0x3B</value> <!-- unused -->
+ <value>0x3C</value> <!-- unused -->
+ <value>0x3D</value> <!-- unused -->
+ <value>0x3E</value> <!-- unused -->
+ <value>0x3F</value> <!-- unused -->
</entry>
<entry>
@@ -283,6 +302,7 @@
Bits 0,1,2 are don't care. For nimbus, pervasive chiplets 10 and 11 are
not used (OB1 and OB2), therefore the value for them is 0xFFFF -->
<name>ATTR_PG</name>
+ <value>0xFFFF</value> <!-- Unused -->
<value>0xE07D</value> <!-- PERV -->
<value>0xE03F</value> <!-- N0 -->
<value>0xE03F</value> <!-- N1 -->
@@ -304,6 +324,16 @@
<value>0xE288</value> <!-- EP3 -->
<value>0xE001</value> <!-- EP4 -->
<value>0xE001</value> <!-- EP5 -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
<value>0xE1FF</value> <!-- EC00 -->
<value>0xE1FF</value> <!-- EC01 -->
<value>0xE1FF</value> <!-- EC02 -->
@@ -328,6 +358,14 @@
<value>0xE1FF</value> <!-- EC21 -->
<value>0xE1FF</value> <!-- EC22 -->
<value>0xE1FF</value> <!-- EC23 -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
+ <value>0xFFFF</value> <!-- Unused -->
</entry>
<entry>
<name>ATTR_ADU_XSCOM_BAR_BASE_ADDR</name>
diff --git a/src/tools/image/sbe_default_tool.c b/src/tools/image/sbe_default_tool.c
index 82d34bc7..2600a365 100644
--- a/src/tools/image/sbe_default_tool.c
+++ b/src/tools/image/sbe_default_tool.c
@@ -94,13 +94,13 @@ void assertTarget(const char* str, unsigned int index)
exit(1);
}
} else if(strcmp(str, "TARGET_TYPE_PERV") == 0) {
- if (index > PERV_TARGET_COUNT) {
- fprintf(stderr, "sbe_default_tool: index (%d) is larger than PERV_TARGET_COUNT (%d)\n",
- index, PERV_TARGET_COUNT);
+ if (index > MAX_PERV_CHIPLETS) {
+ fprintf(stderr, "sbe_default_tool: index (%d) is larger than MAX_PERV_CHIPLETS (%d)\n",
+ index, MAX_PERV_CHIPLETS);
exit(1);
}
} else {
- if (index >= PERV_TARGET_COUNT) {
+ if (index >= MAX_PERV_CHIPLETS) {
fprintf(stderr, "sbe_default_tool: target not supported:");
fprintf(stderr, " %s\n", str);
exit(1);
diff --git a/src/tools/scripts/ppeCreateAttrGetSetMacros.pl b/src/tools/scripts/ppeCreateAttrGetSetMacros.pl
index a0004f39..a77054c9 100755
--- a/src/tools/scripts/ppeCreateAttrGetSetMacros.pl
+++ b/src/tools/scripts/ppeCreateAttrGetSetMacros.pl
@@ -366,24 +366,7 @@ if (@newAttributeDefines != 0) {
print OUTFILE "
__attribute__((always_inline)) inline uint32_t getPervAttrIndex(const fapi2::Target<TARGET_TYPE_PERV> &i_target)
{
- uint32_t l_index = static_cast<plat_target_handle_t>(i_target.get()).getTargetInstance();
- if(PPE_TARGET_TYPE_EQ & static_cast<plat_target_handle_t>(i_target.get()).getTargetType())
- {
- l_index += (EQ_TARGET_OFFSET);
- }
- else if(PPE_TARGET_TYPE_CORE & static_cast<plat_target_handle_t>(i_target.get()).getTargetType())
- {
- l_index += (CORE_TARGET_OFFSET);
- }
- else if(PPE_TARGET_TYPE_MCBIST & static_cast<plat_target_handle_t>(i_target.get()).getTargetType())
- {
- l_index += (MCBIST_TARGET_OFFSET);
- }
- else
- {
- l_index += (NEST_GROUP1_TARGET_OFFSET);
- }
- return (l_index - NEST_GROUP1_TARGET_OFFSET);
+ return i_target.getChipletNumber();
}
";
diff --git a/src/tools/scripts/ppeParseProcSbeFixed.pl b/src/tools/scripts/ppeParseProcSbeFixed.pl
index f58a0ef5..80c68afb 100755
--- a/src/tools/scripts/ppeParseProcSbeFixed.pl
+++ b/src/tools/scripts/ppeParseProcSbeFixed.pl
@@ -298,7 +298,7 @@ foreach my $attr (@attrPervIds)
{
my $value = uc $attr->{valueType};
- print PEFILE "PROC_SBE_FIXED_TARGET_$value($attr->{id}, PERV_TARGET_COUNT);\n"
+ print PEFILE "PROC_SBE_FIXED_TARGET_$value($attr->{id}, MAX_PERV_CHIPLETS);\n"
}
OpenPOWER on IntegriCloud