summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2013-04-29 04:30:27 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2013-05-06 15:35:52 -0500
commit13a771a926e662db5ecb9141debf977bd6bbd3fa (patch)
treeddab6f5b6557906caf98b82a92074b7d6fceef40 /src
parent76503bffd0fa23e3d81f1b4f6a208ffcfa380f57 (diff)
downloadtalos-hostboot-13a771a926e662db5ecb9141debf977bd6bbd3fa.tar.gz
talos-hostboot-13a771a926e662db5ecb9141debf977bd6bbd3fa.zip
Add attribute IBSCOM_PROC_BASE_ADDR
Change-Id: I97100bcc301dca00108aa5fac68a02069883d8d5 RTC: 67827 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4260 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: ADAM R. MUHLE <armuhle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/runtime/common/hsvc_attribute_structs.H1
-rw-r--r--src/usr/runtime/populate_attributes.C20
-rwxr-xr-xsrc/usr/targeting/common/genHwsvMrwXml.pl6
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml12
-rw-r--r--src/usr/targeting/common/xmltohb/simics_MURANO.system.xml12
-rw-r--r--src/usr/targeting/common/xmltohb/simics_VENICE.system.xml27
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml1
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml3
-rw-r--r--src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml6
9 files changed, 86 insertions, 2 deletions
diff --git a/src/usr/runtime/common/hsvc_attribute_structs.H b/src/usr/runtime/common/hsvc_attribute_structs.H
index f291c58ef..9a02df933 100644
--- a/src/usr/runtime/common/hsvc_attribute_structs.H
+++ b/src/usr/runtime/common/hsvc_attribute_structs.H
@@ -78,5 +78,6 @@ struct hsvc_node_data_t
static const uint64_t HSVC_HUID = 0xFF000001FFFFFFFF;
static const uint64_t HSVC_PHYS_PATH = 0xFF000002FFFFFFFF;
static const uint64_t HSVC_ECMD_STRING = 0xFF000003FFFFFFFF;
+static const uint64_t HSVC_IBSCOM_BASE = 0xFF000004FFFFFFFF;
#endif
diff --git a/src/usr/runtime/populate_attributes.C b/src/usr/runtime/populate_attributes.C
index 19d3d7d07..961628dc2 100644
--- a/src/usr/runtime/populate_attributes.C
+++ b/src/usr/runtime/populate_attributes.C
@@ -112,7 +112,7 @@ TRAC_INIT(&g_trac_runtime, "RUNTIME", KILOBYTE);
(*_num_attr)++; }
/**
- * @brief Read the PHYS_PATH attribute from targeting and stick it into mainstore
+ * @brief Read the ECMD_STRING attribute from targeting and stick it into mainstore
*/
#define ADD_ECMD_STRING() \
{ const char* estring = _target->toEcmdString(); \
@@ -124,7 +124,22 @@ TRAC_INIT(&g_trac_runtime, "RUNTIME", KILOBYTE);
_output_ptr += _cur_header->sizeBytes; \
(*_num_attr)++; }
-//void Target::toString(char (&o_ecmdString)[MAX_ECMD_STRING_LEN]) const
+/**
+ * @brief Read the IBSCOM_BASE attribute from targeting
+ * and stick it into mainstore
+ */
+#define ADD_IBSCOM_BASE(__targ) \
+ { TARGETING::AttributeTraits \
+ <TARGETING::ATTR_IBSCOM_PROC_BASE_ADDR>::Type ibscomBase; \
+ _rc = !(__targ->tryGetAttr \
+ <TARGETING::ATTR_IBSCOM_PROC_BASE_ADDR>(ibscomBase)); \
+ _cur_header = &(_all_headers[(*_num_attr)]); \
+ _cur_header->id = HSVC_IBSCOM_BASE; \
+ _cur_header->sizeBytes = sizeof(uint64_t); \
+ _cur_header->offset = (_output_ptr - _beginning); \
+ memcpy( _output_ptr, &ibscomBase, _cur_header->sizeBytes ); \
+ _output_ptr += _cur_header->sizeBytes; \
+ (*_num_attr)++; }
/**
* @brief Insert a terminator into the attribute list
@@ -408,6 +423,7 @@ errlHndl_t populate_node_attributes( uint64_t i_nodeNum )
ADD_HUID( (all_procs[p]) ); // for debug
ADD_PHYS_PATH( (all_procs[p]) );
ADD_ECMD_STRING();
+ ADD_IBSCOM_BASE( (all_procs[p]) );
// Use a generated file for the list of attributes to load
#include "common/hsvc_procdata.C"
diff --git a/src/usr/targeting/common/genHwsvMrwXml.pl b/src/usr/targeting/common/genHwsvMrwXml.pl
index c9b0ae708..ce77f621c 100755
--- a/src/usr/targeting/common/genHwsvMrwXml.pl
+++ b/src/usr/targeting/common/genHwsvMrwXml.pl
@@ -1827,6 +1827,12 @@ sub generate_proc
0x0003FFFF40000000 + 0x4000*$lognode + 0x1000*$logid );
printf( " </attribute>\n" );
+ # Starts at 992TB - 128GB per MCS/Centaur
+ printf( " <attribute><id>IBSCOM_PROC_BASE_ADDR</id>\n" );
+ printf( " <default>0x%016X</default>\n",
+ 0x0003E00000000000 + 0x40000000000*$lognode + 0x10000000000*$logid );
+ printf( " </attribute>\n" );
+
print " <!-- End PHYP Memory Map -->\n\n";
# end PHYP Memory Map
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml
index 06869c3ff..e52abd90f 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types.xml
@@ -2173,6 +2173,18 @@
</attribute>
<attribute>
+ <id>IBSCOM_PROC_BASE_ADDR</id>
+ <description>PROC Inband Scom base address</description>
+ <simpleType>
+ <uint64_t>
+ <default>0x0003E00000000000</default>
+ </uint64_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+
+<attribute>
<id>MIRROR_BASE_ADDRESS</id>
<description>System Mirrorable base address</description>
<simpleType>
diff --git a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
index 6d9388153..35e50e241 100644
--- a/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_MURANO.system.xml
@@ -282,6 +282,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40000000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E00000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>1</default>
</attribute>
@@ -941,6 +944,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40001000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E10000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>1</default>
</attribute>
@@ -1607,6 +1613,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40002000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E40000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>1</default>
</attribute>
@@ -2271,6 +2280,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40003000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E50000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>1</default>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
index 0507cac51..e85de8245 100644
--- a/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
+++ b/src/usr/targeting/common/xmltohb/simics_VENICE.system.xml
@@ -258,6 +258,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40000000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E00000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -1274,6 +1277,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40001000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E10000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -2290,6 +2296,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40002000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E20000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -3306,6 +3315,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40003000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E30000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -4320,6 +4332,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40004000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E40000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -5336,6 +5351,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40005000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E50000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -6350,6 +6368,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40006000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E60000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -7365,6 +7386,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40007000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E70000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -14657,6 +14681,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40000000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E00000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml
index d5c175106..6ce46f37f 100644
--- a/src/usr/targeting/common/xmltohb/target_types.xml
+++ b/src/usr/targeting/common/xmltohb/target_types.xml
@@ -386,6 +386,7 @@
<attribute><id>RNG_BAR_SIZE</id></attribute>
<attribute><id>IMT_BASE_ADDR</id></attribute>
<attribute><id>IMT_BAR_SIZE</id></attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id></attribute>
<!-- end Memory Map -->
<!-- PROC_PCIE attributes -->
diff --git a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml
index 221f0f8c0..e2829b7a8 100644
--- a/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml
+++ b/src/usr/targeting/common/xmltohb/vbu_MURANO.system.xml
@@ -232,6 +232,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40000000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E00000000000</default>
+ </attribute>
<!-- PROC_PCIE_ attributes -->
<attribute>
diff --git a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml
index 6b1f8675e..e630ea3ee 100644
--- a/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml
+++ b/src/usr/targeting/common/xmltohb/vbu_VENICE.system.xml
@@ -275,6 +275,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40000000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E00000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
@@ -1373,6 +1376,9 @@
<attribute><id>RNG_BASE_ADDR</id>
<default>0x0003FFFF40001000</default>
</attribute>
+ <attribute><id>IBSCOM_PROC_BASE_ADDR</id>
+ <default>0x0003E10000000000</default>
+ </attribute>
<attribute><id>PROC_DCM_INSTALLED</id>
<default>0</default>
</attribute>
OpenPOWER on IntegriCloud