diff options
| author | Van Lee <vanlee@us.ibm.com> | 2012-04-29 09:52:23 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-05-10 13:18:38 -0500 |
| commit | 59a58400b22274c58e3512e09468e45daebc1436 (patch) | |
| tree | 6357e6aa5639f2d1420f5a6be33a1902d6956364 /src | |
| parent | 3315046b45b76ff58d60b268c56fb66bb054a946 (diff) | |
| download | blackbird-hostboot-59a58400b22274c58e3512e09468e45daebc1436.tar.gz blackbird-hostboot-59a58400b22274c58e3512e09468e45daebc1436.zip | |
Common Attributes and FSP attributes seperation
Change-Id: Ic286a6f700c909b89d296074fcf22d1c6d2ae0f8
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/961
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src')
| -rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 217 | ||||
| -rw-r--r-- | src/usr/targeting/xmltohb/TULETA.mrw.xml | 3 | ||||
| -rwxr-xr-x | src/usr/targeting/xmltohb/genHwsvMrwXml.pl (renamed from src/usr/targeting/xmltohb/genTuletaMrwXml.pl) | 275 |
3 files changed, 321 insertions, 174 deletions
diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index f05b18c82..d8825cf8b 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -1,30 +1,30 @@ <!-- IBM_PROLOG_BEGIN_TAG This is an automatically generated prolog. - + $Source: src/usr/targeting/xmltohb/attribute_types.xml $ - + IBM CONFIDENTIAL - + COPYRIGHT International Business Machines Corp. 2011 - + p1 - + Object Code Only (OCO) source materials Licensed Internal Code Source Materials IBM HostBoot Licensed Internal Code - + The source code for this program is not published or other- wise divested of its trade secrets, irrespective of what has been deposited with the U.S. Copyright Office. - + Origin: 30 - + IBM_PROLOG_END --> <attributes> <!-- ===================================================================== - HOST BOOT ATTRIBUTE TYPES + HOST BOOT ATTRIBUTE TYPES Contains the definition of all hostboot attributes ================================================================= --> @@ -50,23 +50,23 @@ <enumerator> <name>UNIT</name> <value>4</value> - </enumerator> + </enumerator> <enumerator> <name>DEV</name> <value>5</value> - </enumerator> + </enumerator> <enumerator> <name>SYS</name> <value>6</value> - </enumerator> + </enumerator> <enumerator> <name>LOGICAL_CARD</name> <value>7</value> - </enumerator> + </enumerator> <enumerator> <name>MAX</name> <value>8</value> - </enumerator> + </enumerator> <default>NA</default> </enumerationType> @@ -198,7 +198,7 @@ <enumerator> <name>POWER8</name> <value>112</value> - </enumerator> + </enumerator> <default>NA</default> </enumerationType> @@ -288,14 +288,14 @@ <persistency>non-volatile</persistency> <readable/> <hasStringConversion/> -</attribute> +</attribute> <attribute> <id>SCRATCH_UINT8_1</id> <description>Scratch attribute that can be used for dev/test</description> <simpleType> <uint8_t> - <default>0</default> + <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> @@ -588,18 +588,18 @@ <id>PRIMARY_CAPABILITIES</id> <description>Attribute which describes capabilities of a target</description> <complexType> - <description>Structure which defines a target's primary capabilities. - A target can only support at most FSI SCOM and one of the other two SCOM + <description>Structure which defines a target's primary capabilities. + A target can only support at most FSI SCOM and one of the other two SCOM types. Applicable for all targets. Structure is read-only. </description> <field> <name>supportsFsiScom</name> - <description>0b0: Target does not support FSI SCOM; + <description>0b0: Target does not support FSI SCOM; 0b1: Target supports FSI SCOM </description> <type>uint8_t</type> <bits>1</bits> - <default>0</default> + <default>0</default> </field> <field> <name>supportsXscom</name> @@ -622,7 +622,7 @@ <type>uint8_t</type> <bits>5</bits> <default>0</default> - </field> + </field> </complexType> <persistency>non-volatile</persistency> <readable/> @@ -632,13 +632,13 @@ <id>SCOM_SWITCHES</id> <description>Attribute storing information about which SCOM path to use</description> <complexType> - <description>Structure which defines which SCOM to use at a point in - time. Only applicable if target supports one or more SCOM types. Only - one bit (of the first three) can ever be set at any one time. + <description>Structure which defines which SCOM to use at a point in + time. Only applicable if target supports one or more SCOM types. Only + one bit (of the first three) can ever be set at any one time. </description> <field> <name>useFsiScom</name> - <description>0b0: Do not use FSI SCOM at this time. 0b1: Use FSI + <description>0b0: Do not use FSI SCOM at this time. 0b1: Use FSI SCOM at this time</description> <type>uint8_t</type> <bits>1</bits> @@ -646,7 +646,7 @@ </field> <field> <name>useXscom</name> - <description>0b0: Do not use XSCOM at this time. 0b1: Use XSCOM at + <description>0b0: Do not use XSCOM at this time. 0b1: Use XSCOM at this time</description> <type>uint8_t</type> <bits>1</bits> @@ -654,7 +654,7 @@ </field> <field> <name>useInbandScom</name> - <description>0b0: Do not use inband SCOM at this time. 0b1: Use + <description>0b0: Do not use inband SCOM at this time. 0b1: Use inband SCOM at this time</description> <type>uint8_t</type> <bits>1</bits> @@ -688,8 +688,8 @@ <id>XSCOM_CHIP_INFO</id> <description>Attribute which describes XSCOM chip info</description> <complexType> - <description>Structure which defines chip info necessary for XSCOM. - Only applicable for chip targets which support XSCOM. Structure is + <description>Structure which defines chip info necessary for XSCOM. + Only applicable for chip targets which support XSCOM. Structure is read-only</description> <field> <name>nodeId</name> @@ -829,8 +829,8 @@ <attribute> <id>HWAS_STATE</id> - <description>HardWare Availability Service State Attribute. - Keeps track of Target values poweredOn, present, functional, + <description>HardWare Availability Service State Attribute. + Keeps track of Target values poweredOn, present, functional, changedSinceLastIPL, and gardLevel</description> <complexType> <description>struct - so far contains 4 booleans and a 4-bit GARD level @@ -845,7 +845,7 @@ </field> <field> <name>present</name> - <description>Target is present in the system. + <description>Target is present in the system. comes up as Not PRESENT. </description> <type>uint8_t</type> <bits>1</bits> @@ -861,21 +861,21 @@ </field> <field> <name>changedSinceLastIPL</name> - <description>Target has changed since last IPL. + <description>Target has changed since last IPL. comes up as FALSE. </description> <type>uint8_t</type> <bits>1</bits> <default>0</default> - </field> + </field> <field> <name>gardLevel</name> - <description>GARD Level. This is a 4-bit value. + <description>GARD Level. This is a 4-bit value. comes up as 0 </description> <type>uint8_t</type> <bits>4</bits> <default>0</default> </field> - </complexType> + </complexType> <persistency>volatile</persistency> <readable/> <writeable/> @@ -891,61 +891,61 @@ <name>fsiPath</name> <description>Entity path for testing purposes</description> <type>EntityPath</type> - <default>physical:sys-0</default> + <default>physical:sys-0</default> </field> <field> <name>className</name> <description>Class for testing purposes</description> <type>CLASS</type> - <default>CHIP</default> + <default>CHIP</default> </field> <field> <name>uint8</name> <description>Test uint8</description> <type>uint8_t</type> - <default>0xAB</default> + <default>0xAB</default> </field> <field> <name>uint16</name> <description>Test uint16</description> <type>uint16_t</type> - <default>0xABCD</default> + <default>0xABCD</default> </field> <field> <name>uint32</name> <description>Test uint32</description> <type>uint32_t</type> - <default>0xABCDEF01</default> + <default>0xABCDEF01</default> </field> <field> <name>uint64</name> <description>Test uint64</description> <type>uint64_t</type> - <default>0xABCDEF0123456789</default> + <default>0xABCDEF0123456789</default> </field> <field> <name>int8</name> <description>Test int8</description> <type>int8_t</type> - <default>-124</default> + <default>-124</default> </field> <field> <name>int16</name> <description>Test int16</description> <type>int16_t</type> - <default>-32764</default> + <default>-32764</default> </field> <field> <name>int32</name> <description>Test int32</description> <type>int32_t</type> - <default>-2147483644</default> + <default>-2147483644</default> </field> <field> <name>int64</name> <description>Test int64</description> <type>int64_t</type> - <default>-9223372036854775804</default> + <default>-9223372036854775804</default> </field> </complexType> <persistency>non-volatile</persistency> @@ -976,7 +976,7 @@ <readable/> <writeable/> </attribute> - + <attribute> <id>ISTEP_MODE</id> <description>If True, puts HostBoot into SPLess SingleStep mode.</description> @@ -1604,7 +1604,7 @@ <simpleType> <uint8_t> <default>0</default> - </uint8_t> + </uint8_t> <array>2,2,4</array> </simpleType> <persistency>volatile-zeroed</persistency> @@ -1622,10 +1622,10 @@ <simpleType> <uint32_t> <default>0</default> - </uint32_t> + </uint32_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_WR_VREF</id> @@ -1640,9 +1640,9 @@ <uint8_t> <default>0</default> </uint8_t> - </simpleType> + </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_DRV_IMP_DQ_DQS</id> @@ -1659,7 +1659,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_DRV_IMP_CMD</id> @@ -1676,7 +1676,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_DRV_IMP_CNTL</id> @@ -1693,7 +1693,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_RCV_IMP_DQ_DQS</id> @@ -1710,7 +1710,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_SLEW_RATE_DQ_DQS</id> @@ -1727,7 +1727,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_SLEW_RATE_CMD</id> @@ -1744,7 +1744,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_SLEW_RATE_CNTL</id> @@ -1761,7 +1761,7 @@ </uint32_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_CEN_RD_VREF</id> @@ -1796,7 +1796,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_DENSITY</id> @@ -1813,7 +1813,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRCD</id> @@ -1830,7 +1830,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRRD</id> @@ -1847,7 +1847,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRP</id> @@ -1864,7 +1864,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRAS</id> @@ -1881,7 +1881,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRC</id> @@ -1915,7 +1915,7 @@ </uint32_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRFC</id> @@ -1932,7 +1932,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TWTR</id> @@ -1949,7 +1949,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TRTP</id> @@ -1966,7 +1966,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TFAW</id> @@ -1977,13 +1977,13 @@ <attribute> <id>EFF_DRAM_BL</id> <description>DRAM Burst Length. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_BL</id> @@ -2000,7 +2000,7 @@ </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_CL</id> @@ -2011,13 +2011,13 @@ <attribute> <id>EFF_DRAM_AL</id> <description>DRAM Additive Latency. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_AL</id> @@ -2028,13 +2028,13 @@ <attribute> <id>EFF_DRAM_CWL</id> <description>DRAM CAS Write Latency. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_CWL</id> @@ -2045,13 +2045,13 @@ <attribute> <id>EFF_DRAM_RBT</id> <description>DRAM Read Burst Type. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_RBT</id> @@ -2062,13 +2062,13 @@ <attribute> <id>EFF_DRAM_TM</id> <description>DRAM Test Mode. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_TM</id> @@ -2079,13 +2079,13 @@ <attribute> <id>EFF_DRAM_DLL_RESET</id> <description>DRAM DLL Reset. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> </simpleType> <persistency>volatile-zeroed</persistency> - <readable/> + <readable/> <writeable/> <hwpfToHbAttrMap> <id>ATTR_EFF_DRAM_DLL_RESET</id> @@ -2096,7 +2096,7 @@ <attribute> <id>EFF_DRAM_WR</id> <description>DRAM Write Recovery. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2113,7 +2113,7 @@ <attribute> <id>EFF_DRAM_DLL_PPD</id> <description>DRAM DLL Precharge PD. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2130,7 +2130,7 @@ <attribute> <id>EFF_DRAM_DLL_ENABLE</id> <description>DRAM DLL Enable. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2147,7 +2147,7 @@ <attribute> <id>EFF_DRAM_TDQS</id> <description>DRAM TDQS. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2164,7 +2164,7 @@ <attribute> <id>EFF_DRAM_WR_LVL_ENABLE</id> <description>DRAM Write Level Enable. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2181,7 +2181,7 @@ <attribute> <id>EFF_DRAM_OUTPUT_BUFFER</id> <description>DRAM output buffer. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2198,7 +2198,7 @@ <attribute> <id>EFF_DRAM_PASR</id> <description>DRAM Partial Array Self-Refresh. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2215,7 +2215,7 @@ <attribute> <id>EFF_DRAM_ASR</id> <description>DRAM Auto Self-Refresh. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2232,7 +2232,7 @@ <attribute> <id>EFF_DRAM_SRT</id> <description>DRAM Self-Refresh Temperature Range. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2249,7 +2249,7 @@ <attribute> <id>EFF_MPR_LOC</id> <description>Multi Purpose Register Location. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2266,7 +2266,7 @@ <attribute> <id>EFF_MPR_MODE</id> <description>Multi Purpose Register Mode. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint8_t> <default>0</default> </uint8_t> @@ -2283,7 +2283,7 @@ <attribute> <id>EFF_DIMM_RCD_CNTL_WORD_0_15</id> <description>DIMM RCD Control Word. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint64_t> <default>0</default> </uint64_t> @@ -2386,7 +2386,7 @@ <attribute> <id>MSS_THROTTLE_NUMERATOR</id> <description>DIMM throttle numerator. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint32_t> <default>0</default> </uint32_t> @@ -2404,7 +2404,7 @@ <attribute> <id>MSS_THROTTLE_DENOMINATOR</id> <description>DIMM throttle denominator. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint32_t> <default>0</default> </uint32_t> @@ -2422,7 +2422,7 @@ <attribute> <id>MSS_THROTTLE_CHANNEL_NUMERATOR</id> <description>Channel throttle numerator. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint32_t> <default>0</default> </uint32_t> @@ -2440,7 +2440,7 @@ <attribute> <id>MSS_THROTTLE_CHANNEL_DENOMINATOR</id> <description>Channel throttle denominator. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint32_t> <default>0</default> </uint32_t> @@ -2458,7 +2458,7 @@ <attribute> <id>MSS_WATT_TARGET</id> <description>Channel total memory watts. Initialized and used by HWPs.</description> - <simpleType> + <simpleType> <uint32_t> <default>0</default> </uint32_t> @@ -2907,7 +2907,7 @@ <id>ATTR_CHIP_UNIT_POS</id> <macro>DIRECT</macro> </hwpfToHbAttrMap> -</attribute> +</attribute> <attribute> <id>POSITION</id> @@ -3000,7 +3000,6 @@ <simpleType> <enumeration> <id>PROC_EPS_TABLE_TYPE</id> - <default>EPS_TYPE_LE</default> </enumeration> </simpleType> <persistency>non-volatile</persistency> @@ -3037,7 +3036,6 @@ <simpleType> <enumeration> <id>PROC_FABRIC_PUMP_MODE</id> - <default>MODE1</default> </enumeration> </simpleType> <persistency>non-volatile</persistency> @@ -3072,7 +3070,6 @@ <simpleType> <enumeration> <id>PROC_X_BUS_WIDTH</id> - <default>W8BYTE</default> </enumeration> </simpleType> <persistency>non-volatile</persistency> @@ -3215,7 +3212,7 @@ System attribute. The frequency of a processor's PB chiplet in MHz. This is the same for all PB chiplets in the system. - The corresponding HWPF attribute: + The corresponding HWPF attribute: - Is set by a HWP that runs after SBE HWPs setup the PB PLL. It reads ATTR_FREQ_PROC_REFCLOCK and the PB PLL settings. </description> @@ -3310,18 +3307,18 @@ Attribute which describes what the SP is or is not doing in this system </description> <complexType> - <description>Structure which defines a system's SP functions. + <description>Structure which defines a system's SP functions. Applicable for System target only. Structure is read-only. </description> <field> <name>fsiSlaveInit</name> <description> - 0b0: SP does not initialize FSI slave logic, Hostboot must; + 0b0: SP does not initialize FSI slave logic, Hostboot must; 0b1: SP does initialize FSI slave logic so Hostboot should not </description> <type>uint8_t</type> <bits>1</bits> - <default>1</default> + <default>1</default> </field> <field> <name>mailboxEnabled</name> @@ -3339,8 +3336,8 @@ <type>uint8_t</type> <bits>6</bits> <default>0</default> - </field> - </complexType> + </field> + </complexType> <persistency>non-volatile</persistency> <readable/> </attribute> diff --git a/src/usr/targeting/xmltohb/TULETA.mrw.xml b/src/usr/targeting/xmltohb/TULETA.mrw.xml index e8c502f8d..5121c43ec 100644 --- a/src/usr/targeting/xmltohb/TULETA.mrw.xml +++ b/src/usr/targeting/xmltohb/TULETA.mrw.xml @@ -20,8 +20,7 @@ Origin: 30 IBM_PROLOG_END --> -<!-- Source path = /esw/fips810/Builds/b0330a_1213.810/obj/ppc/mrw/xml/data/ --> - +<!-- Source path = /esw/fips810/Builds/b0419a_1215.810/obj/ppc/mrw/xml/data --> <attributes> <!-- TULETA System --> diff --git a/src/usr/targeting/xmltohb/genTuletaMrwXml.pl b/src/usr/targeting/xmltohb/genHwsvMrwXml.pl index e3339d0df..f1b2d3367 100755 --- a/src/usr/targeting/xmltohb/genTuletaMrwXml.pl +++ b/src/usr/targeting/xmltohb/genHwsvMrwXml.pl @@ -2,7 +2,7 @@ # IBM_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # -# $Source: src/usr/targeting/xmltohb/genTuletaMrwXml.pl $ +# $Source: src/usr/targeting/xmltohb/genHwsvMrwXml.pl $ # # IBM CONFIDENTIAL # @@ -21,15 +21,18 @@ # Origin: 30 # # IBM_PROLOG_END - -# # Author: Van Lee vanlee@us.ibm.com # # Usage: # -# genTuletaMrwXml.pl --mrwdir=pathname [--outfile=XmlFilename] +# genHwsvMrwXml.pl --system=systemname --mrwdir=pathname +# [--build=hb] [--outfile=XmlFilename] +# --system=systemname +# Specify which system MRW XML to be generated # --mrwdir=pathname # Specify the complete dir pathname of the MRW. +# --build=hb +# Specify HostBoot build (hb) # --outfile=XmlFilename # Specify the filename for the output XML. If omitted, the output # is written to STDOUT which can be saved by redirection. @@ -40,17 +43,20 @@ # extract the needed information for generating the final xml file. # -use constant SYSTEM => "TULETA"; use strict; use XML::Simple; use Data::Dumper; my $mrwdir = ""; +my $sysname = ""; my $usage = 0; my $outFile = ""; +my $build = "fsp"; use Getopt::Long; GetOptions( "mrwdir:s" => \$mrwdir, + "system:s" => \$sysname, "outfile:s" => \$outFile, + "build:s" => \$build, "help" => \$usage, ); if ($usage || ($mrwdir eq "")) @@ -66,36 +72,63 @@ if ($outFile ne "") select OUTFILE; } -open (FH, "<$mrwdir/" . lc(SYSTEM) . "-system-policy.xml") || - die "ERROR: unable to open $mrwdir/" . lc(SYSTEM) . "-system-policy.xml\n"; +my $SYSNAME = uc($sysname); + +open (FH, "<$mrwdir/${sysname}-power-busses.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-power-busses.xml\n"; +close (FH); + +my $powerbus = XMLin("$mrwdir/${sysname}-power-busses.xml"); + +my @pbus; +foreach my $i (@{$powerbus->{'power-bus'}}) +{ + my $endp1 = $i->{'description'}; + my $endp2 = $endp1; + $endp1 =~ s/^(.*) to.*/$1/; + $endp2 =~ s/.* to (.*)\s*$/$1/; + push @pbus, [ lc($endp1), lc($endp2) ]; + push @pbus, [ lc($endp2), lc($endp1) ]; +} + +open (FH, "<$mrwdir/${sysname}-cec-chips.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-cec-chips.xml\n"; close (FH); -my $policy = XMLin("$mrwdir/" . lc(SYSTEM) . "-system-policy.xml"); +my $devpath = XMLin("$mrwdir/${sysname}-cec-chips.xml", + KeyAttr=>'instance-path'); -open (FH, "<$mrwdir/" . lc(SYSTEM) . "-targets.xml") || - die "ERROR: unable to open $mrwdir/" . lc(SYSTEM) . "-targets.xml\n"; +open (FH, "<$mrwdir/${sysname}-system-policy.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-system-policy.xml\n"; close (FH); -my $eTargets = XMLin("$mrwdir/" . lc(SYSTEM) . "-targets.xml"); +my $policy = XMLin("$mrwdir/${sysname}-system-policy.xml"); + +open (FH, "<$mrwdir/${sysname}-targets.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-targets.xml\n"; +close (FH); + +my $eTargets = XMLin("$mrwdir/${sysname}-targets.xml"); # Capture all targets into the @Targets array use constant NAME_FIELD => 0; use constant NODE_FIELD => 1; use constant POS_FIELD => 2; use constant UNIT_FIELD => 3; -use constant LOC_FIELD => 4; +use constant PATH_FIELD => 4; +use constant LOC_FIELD => 5; my @Targets; foreach my $i (@{$eTargets->{target}}) { push @Targets, [ $i->{'ecmd-common-name'}, $i->{node}, $i->{position}, - $i->{'chip-unit'}, $i->{location} ]; + $i->{'chip-unit'}, $i->{'instance-path'}, $i->{location} ]; } -open (FH, "<$mrwdir/" . lc(SYSTEM) . "-fsi-busses.xml") || - die "ERROR: unable to open $mrwdir/" . lc(SYSTEM) . "-fsi-busses.xml\n"; +open (FH, "<$mrwdir/${sysname}-fsi-busses.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-fsi-busses.xml\n"; close (FH); -my $fsiBus = XMLin("$mrwdir/" . lc(SYSTEM) . "-fsi-busses.xml"); +my $fsiBus = XMLin("$mrwdir/${sysname}-fsi-busses.xml"); # Capture all FSI connections into the @Fsis array use constant FSI_TYPE_FIELD => 0; @@ -108,11 +141,11 @@ foreach my $i (@{$fsiBus->{'fsi-bus'}}) "n$i->{slave}->{target}->{node}:p$i->{slave}->{target}->{position}" ]; } -open (FH, "<$mrwdir/" . lc(SYSTEM) . "-memory-busses.xml") || - die "ERROR: unable to open $mrwdir/" . lc(SYSTEM) . "-memory-busses.xml\n"; +open (FH, "<$mrwdir/${sysname}-memory-busses.xml") || + die "ERROR: unable to open $mrwdir/${sysname}-memory-busses.xml\n"; close (FH); -my $memBus = XMLin("$mrwdir/" . lc(SYSTEM) . "-memory-busses.xml"); +my $memBus = XMLin("$mrwdir/${sysname}-memory-busses.xml"); # Capture all memory buses info into the @Membuses array use constant MCS_TARGET_FIELD => 0; @@ -272,9 +305,10 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) if ($STargets[$i][NAME_FIELD] eq "pu") { my $proc = $STargets[$i][POS_FIELD]; + my $ipath = $STargets[$i][PATH_FIELD]; if ($proc eq $Mproc) { - generate_master_proc($Mproc); + generate_master_proc($proc, $ipath); } else { @@ -284,10 +318,10 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) if ($Fsis[$j][FSI_TARGET_FIELD] eq "n${node}:p$proc") { $fsi = $Fsis[$j][FSI_LINK_FIELD]; - $j = $#Fsis; + last; } } - generate_slave_proc($proc, $fsi); + generate_slave_proc($proc, $fsi, $ipath); } } elsif ($STargets[$i][NAME_FIELD] eq "ex") @@ -298,7 +332,7 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) { if ($ex_count == 0) { - print "\n<!-- " . SYSTEM . " n${node}p$proc EX units -->\n"; + print "\n<!-- $SYSNAME n${node}p$proc EX units -->\n"; } generate_ex($proc, $ex); $ex_count++; @@ -313,7 +347,7 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) { if ($ex_count == 0) { - print "\n<!-- " . SYSTEM . " n${node}p$proc core units -->\n"; + print "\n<!-- $SYSNAME n${node}p$proc core units -->\n"; } generate_ex_core($proc,$ex); $ex_count++; @@ -330,7 +364,7 @@ for (my $do_core = 0, my $i = 0; $i <= $#STargets; $i++) my $mcs = $STargets[$i][UNIT_FIELD]; if ($mcs_count == 0) { - print "\n<!-- " . SYSTEM . " n${node}p$proc MCS units -->\n"; + print "\n<!-- $SYSNAME n${node}p$proc MCS units -->\n"; } generate_mcs($proc,$mcs); $mcs_count++; @@ -357,6 +391,7 @@ for my $i ( 0 .. $#STargets ) if ($STargets[$i][NAME_FIELD] eq "memb") { $memb = $STargets[$i][POS_FIELD]; + my $ipath = $STargets[$i][PATH_FIELD]; my $centaur = "n${node}:p${memb}"; my $found = 0; my $cfsi; @@ -369,13 +404,14 @@ for my $i ( 0 .. $#STargets ) $membMcs = $Membuses[$j][MCS_TARGET_FIELD]; $cfsi = $Membuses[$j][CFSI_LINK_FIELD]; $found = 1; + last; } } if ($found == 0) { die "ERROR. Can't locate Centaur from memory bus table\n"; } - generate_centaur( $memb, $membMcs, $cfsi ); + generate_centaur( $memb, $membMcs, $cfsi, $ipath ); } elsif ($STargets[$i][NAME_FIELD] eq "mba") { @@ -383,14 +419,14 @@ for my $i ( 0 .. $#STargets ) generate_mba( $memb, $membMcs, $mba ); if ($mba == 1) { - print "\n<!-- " . SYSTEM . " Centaur n${node}p${memb} : end -->\n" + print "\n<!-- $SYSNAME Centaur n${node}p${memb} : end -->\n" } } } # Fifth, generate DIMM targets -print "\n<!-- " . SYSTEM . " Centaur DIMMs -->\n"; +print "\n<!-- $SYSNAME Centaur DIMMs -->\n"; for my $i ( 0 .. $#SMembuses ) { @@ -417,7 +453,7 @@ for my $i ( 0 .. $#SMembuses ) } } -print "\n</attributes>"; +print "\n</attributes>\n"; # All done! #close ($outFH); @@ -431,7 +467,7 @@ sub generate_sys my $mem_refclk = $policy->{'required-policy-settings'}->{'memory-refclock-frequency'}->{content}; print " -<!-- " . SYSTEM . " System --> +<!-- $SYSNAME System --> <targetInstance> <id>sys$sys</id> @@ -487,7 +523,7 @@ sub generate_sys sub generate_system_node { print " -<!-- " . SYSTEM . " System node $node --> +<!-- $SYSNAME System node $node --> <targetInstance> <id>sys${sys}node${node}</id> @@ -507,15 +543,27 @@ sub generate_system_node sub generate_master_proc { - my $uidstr = sprintf("0x%02X07%04X",${node},${Mproc}+${node}*8); + my ($proc, $ipath) = @_; + my $scompath = $devpath->{chip}->{$ipath}->{'scom-path'}; + my $scanpath = $devpath->{chip}->{$ipath}->{'scan-path'}; + my $scomsize = length($scompath) + 1; + my $scansize = length($scanpath) + 1; + my $mboxpath = ""; + my $mboxsize = 0; + if (exists $devpath->{chip}->{$ipath}->{'mailbox-path'}) + { + $mboxpath = $devpath->{chip}->{$ipath}->{'mailbox-path'}; + $mboxsize = length($mboxpath) + 1; + } + my $uidstr = sprintf("0x%02X07%04X",${node},${proc}+${node}*8); print " -<!-- " . SYSTEM . " n${node}p${Mproc} processor chip --> +<!-- $SYSNAME n${node}p${proc} processor chip --> <targetInstance> - <id>sys${sys}node${node}proc${Mproc}</id> + <id>sys${sys}node${node}proc${proc}</id> <type>chip-processor-murano</type> <attribute><id>HUID</id><default>${uidstr}</default></attribute> - <attribute><id>POSITION</id><default>${Mproc}</default></attribute> + <attribute><id>POSITION</id><default>${proc}</default></attribute> <attribute><id>SCOM_SWITCHES</id> <default> <field><id>useFsiScom</id><value>0</value></field> @@ -528,16 +576,16 @@ sub generate_master_proc <id>XSCOM_CHIP_INFO</id> <default> <field><id>nodeId</id><value>$node</value></field> - <field><id>chipId</id><value>$Mproc</value></field> + <field><id>chipId</id><value>$proc</value></field> </default> </attribute> <attribute> <id>PHYS_PATH</id> - <default>physical:sys-$sys/node-$node/proc-$Mproc</default> + <default>physical:sys-$sys/node-$node/proc-$proc</default> </attribute> <attribute> <id>AFFINITY_PATH</id> - <default>affinity:sys-$sys/node-$node/proc-$Mproc</default> + <default>affinity:sys-$sys/node-$node/proc-$proc</default> </attribute> <attribute> <id>FABRIC_NODE_ID</id> @@ -545,19 +593,54 @@ sub generate_master_proc </attribute> <attribute> <id>FABRIC_CHIP_ID</id> - <default>$Mproc</default> + <default>$proc</default> </attribute> - <attribute><id>VPD_REC_NUM</id><default>$Mproc</default></attribute> -</targetInstance> -"; + <attribute><id>VPD_REC_NUM</id><default>$proc</default></attribute>"; + + if ($build eq "fsp") + { + print " + <attribute> + <id>FSP_SCOM_DEVICE_PATH</id> + <default>$scompath</default> + <sizeInclNull>$scomsize</sizeInclNull> + </attribute> + <attribute> + <id>FSP_SCAN_DEVICE_PATH</id> + <default>$scanpath</default> + <sizeInclNull>$scansize</sizeInclNull> + </attribute>"; + } + + if (($mboxsize != 0) && ($build eq "fsp")) + { + print " + <attribute> + <id>FSP_MBOX_DEVICE_PATH</id> + <default>$mboxpath</default> + <sizeInclNull>$mboxsize</sizeInclNull> + </attribute>"; + } + print "\n</targetInstance>\n"; } sub generate_slave_proc { - my ($proc, $fsi) = @_; + my ($proc, $fsi, $ipath) = @_; my $uidstr = sprintf("0x%02X07%04X",${node},$proc+${node}*8); + my $scompath = $devpath->{chip}->{$ipath}->{'scom-path'}; + my $scanpath = $devpath->{chip}->{$ipath}->{'scan-path'}; + my $scomsize = length($scompath) + 1; + my $scansize = length($scanpath) + 1; + my $mboxpath = ""; + my $mboxsize = 0; + if (exists $devpath->{chip}->{$ipath}->{'mailbox-path'}) + { + $mboxpath = $devpath->{chip}->{$ipath}->{'mailbox-path'}; + $mboxsize = length($mboxpath) + 1; + } print " -<!-- " . SYSTEM . " n${node}p$proc processor chip --> +<!-- $SYSNAME n${node}p$proc processor chip --> <targetInstance> <id>sys${sys}node${node}proc$proc</id> @@ -616,9 +699,33 @@ sub generate_slave_proc <id>FSI_OPTION_FLAGS</id> <default>0</default> </attribute> - <attribute><id>VPD_REC_NUM</id><default>$proc</default></attribute> -</targetInstance> -"; + <attribute><id>VPD_REC_NUM</id><default>$proc</default></attribute>"; + + if ($build eq "fsp") + { + print " + <attribute> + <id>FSP_SCOM_DEVICE_PATH</id> + <default>$scompath</default> + <sizeInclNull>$scomsize</sizeInclNull> + </attribute> + <attribute> + <id>FSP_SCAN_DEVICE_PATH</id> + <default>$scanpath</default> + <sizeInclNull>$scansize</sizeInclNull> + </attribute>"; + } + + if (($mboxsize != 0) && ($build eq "fsp")) + { + print " + <attribute> + <id>FSP_MBOX_DEVICE_PATH</id> + <default>$mboxpath</default> + <sizeInclNull>$mboxsize</sizeInclNull> + </attribute>"; + } + print "\n</targetInstance>\n"; } sub generate_ex @@ -701,7 +808,7 @@ sub generate_pervasive_bus my $proc = shift; my $uidstr = sprintf("0x%02X13%04X",${node},$proc+${node}*8); print " -<!-- " . SYSTEM . " n${node}p$proc pervasive unit --> +<!-- $SYSNAME n${node}p$proc pervasive unit --> <targetInstance> <id>sys${sys}node${node}proc${proc}pervasive0</id> @@ -724,7 +831,7 @@ sub generate_powerbus my $proc = shift; my $uidstr = sprintf("0x%02X14%04X",${node},$proc+${node}*8); print " -<!-- " . SYSTEM . " n${node}p$proc powerbus unit --> +<!-- $SYSNAME n${node}p$proc powerbus unit --> <targetInstance> <id>sys${sys}node${node}proc${proc}powerbus0</id> @@ -746,7 +853,7 @@ sub generate_pcies { my $proc = shift; my $proc_name = "n${node}:p${proc}"; - print "\n<!-- " . SYSTEM . " n${node}p${proc} PCI units -->\n"; + print "\n<!-- $SYSNAME n${node}p${proc} PCI units -->\n"; for my $i ( 0 .. 2 ) { generate_a_pcie( $proc, $i ); @@ -783,7 +890,7 @@ sub generate_ax_buses my ($proc, $type) = @_; my $proc_name = "n${node}p${proc}"; - print "\n<!-- " . SYSTEM . " $proc_name ${type}BUS units -->\n"; + print "\n<!-- $SYSNAME $proc_name ${type}BUS units -->\n"; my $maxbus = ($type eq "A") ? 2 : 3; my $typenum = ($type eq "A") ? 0x16 : 0x15; $type = lc( $type ); @@ -793,6 +900,21 @@ sub generate_ax_buses ${node}, $typenum, $i+$proc*($maxbus+1)+${node}*8*($maxbus+1)); + my $peer = 0; + my $p_proc = 0; + my $p_port = 0; + foreach my $j ( @pbus ) + { + if ($j->[0] eq "n${node}:p${proc}:${type}${i}") + { + #$peer = 1; + $p_proc = $j->[1]; + $p_port = $p_proc; + $p_proc =~ s/^.*:p(.*):.*$/$1/; + $p_port =~ s/.*:p.*:.(.*)$/$1/; + last; + } + } print " <targetInstance> <id>sys${sys}node${node}proc${proc}${type}bus$i</id> @@ -809,15 +931,26 @@ sub generate_ax_buses <attribute> <id>CHIP_UNIT</id> <default>$i</default> - </attribute> -</targetInstance> -"; + </attribute>"; + if ($peer) + { + print " + <attribute> + <id>PEER_TARGET<id> + <default>affinity:sys-$sys/node-$node/proc-$p_proc/${type}bus-$p_port</default> + </attribute>"; + } + print "\n</targetInstance>\n"; } } sub generate_centaur { - my ($ctaur, $mcs, $cfsi) = @_; + my ($ctaur, $mcs, $cfsi, $ipath) = @_; + my $scompath = $devpath->{chip}->{$ipath}->{'scom-path'}; + my $scanpath = $devpath->{chip}->{$ipath}->{'scan-path'}; + my $scomsize = length($scompath) + 1; + my $scansize = length($scanpath) + 1; my $proc = $mcs; $proc =~ s/.*:p(.*):.*/$1/g; $mcs =~ s/.*:.*:mcs(.*)/$1/g; @@ -825,7 +958,7 @@ sub generate_centaur my $uidstr = sprintf("0x%02X06%04X",${node},$mcs+$proc*8+${node}*8*8); print " -<!-- " . SYSTEM . " Centaur n${node}p${ctaur} : start --> +<!-- $SYSNAME Centaur n${node}p${ctaur} : start --> <targetInstance> <id>sys${sys}node${node}membuf${ctaur}</id> @@ -861,13 +994,27 @@ sub generate_centaur <attribute> <id>FSI_OPTION_FLAGS</id> <default>0</default> + </attribute>"; + + if ($build eq "fsp") + { + print " + <attribute> + <id>FSP_SCOM_DEVICE_PATH</id> + <default>$scompath</default> + <sizeInclNull>$scomsize</sizeInclNull> </attribute> -</targetInstance> -"; + <attribute> + <id>FSP_SCAN_DEVICE_PATH</id> + <default>$scanpath</default> + <sizeInclNull>$scansize</sizeInclNull> + </attribute>"; + } + print "\n</targetInstance>\n"; $uidstr = sprintf("0x%02X10%04X",${node},$mcs+$proc*8+${node}*8*8); print " -<!-- " . SYSTEM . " Centaur MBS affiliated with membuf$ctaur --> +<!-- $SYSNAME Centaur MBS affiliated with membuf$ctaur --> <targetInstance> <id>sys${sys}node${node}membuf${ctaur}mbs0</id> @@ -894,8 +1041,7 @@ sub generate_mba if ($mba == 0) { - print "\n<!-- " . SYSTEM . - " Centaur MBAs affiliated with membuf$ctaur -->\n"; + print "\n<!-- $SYSNAME Centaur MBAs affiliated with membuf$ctaur -->\n"; } my $uidstr = sprintf("0x%02X11%04X",${node},$mba+$mcs*2+$proc*8*2+${node}*8*8*2); @@ -976,9 +1122,14 @@ sub display_help Usage: $scriptname --help - $scriptname --mrwdir=pathname [--outfile=XmlFilename] + $scriptname --system=sysname --mrwdir=pathname + [--build=hb] [--outfile=XmlFilename] + --system=systemname + Specify which system MRW XML to be generated --mrwdir=pathname Specify the complete dir pathname of the MRW. + --build=hb + Specify HostBoot build (hb) --outfile=XmlFilename Specify the filename for the output XML. If omitted, the output is written to STDOUT which can be saved by redirection. |

