diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2013-04-29 04:30:27 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-06 15:35:52 -0500 |
commit | 13a771a926e662db5ecb9141debf977bd6bbd3fa (patch) | |
tree | ddab6f5b6557906caf98b82a92074b7d6fceef40 /src/usr | |
parent | 76503bffd0fa23e3d81f1b4f6a208ffcfa380f57 (diff) | |
download | talos-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/usr')
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> |