diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2019-06-21 16:11:32 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-06-26 16:45:21 -0500 |
commit | 3805319f1d630c6bc9c022b3e9eeb601aa3ffbf4 (patch) | |
tree | 0d5327e039f273391bfc9b20269968a683b6bd14 /src/usr/targeting | |
parent | 6fccf28881ecc8adb2c6f1ed877e1f41967ab8a6 (diff) | |
download | talos-hostboot-3805319f1d630c6bc9c022b3e9eeb601aa3ffbf4.tar.gz talos-hostboot-3805319f1d630c6bc9c022b3e9eeb601aa3ffbf4.zip |
Add HCDB Support for eeprom cache process
While parsing the EEPROMs of the system as part of the EECACHE process
if we detect a part has been replaced, removed, or added then we must
call markTargetChanged to notify hwas to take appropriate actions.
This commit also introduces the new preloaded EECACHE section for simics.
Change-Id: I9f2a8a62d5c6f9a6c66a0c0c7ed5ed86f7d94aec
RTC: 211109
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/78762
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-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: Roland Veloz <rveloz@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/targeting')
-rw-r--r-- | src/usr/targeting/common/xmltohb/simics_AXONE.system.xml | 78 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 57 |
2 files changed, 119 insertions, 16 deletions
diff --git a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml index 91b6d25a1..d47924115 100644 --- a/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml +++ b/src/usr/targeting/common/xmltohb/simics_AXONE.system.xml @@ -8498,6 +8498,9 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target is marked as invalid in the prebuilt + EECACHE pnor section. It is expected that we detect this target as a + replacement to a part thathad been previously removed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8565,6 +8568,10 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target is marked as in the prebuilt + EECACHE pnor section but the contents of the cache entry are emtpy. + It is expected that we detect this target a mismatched PN/SN and + force a update of the eeprom's cache entry --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8632,6 +8639,9 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will not have an entry in the EECACHE + that we preload in standalone simics. It should look like a newly detected + eeprom entry--> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8699,6 +8709,9 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics that has corrupted PN/SN keywords. + We should interpret the PN/SN mismatch and treat it as a replacment --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8766,6 +8779,8 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8833,6 +8848,8 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8900,6 +8917,8 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -8967,6 +8986,8 @@ <field><id>i2cMuxPath</id><value>physical:sys-0/node-0/i2c_mux-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -9034,6 +9055,8 @@ <field><id>i2cMuxPath</id><value>physical:sys-0</value></field> </default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10705,7 +10728,7 @@ <!-- ===================================================================== --> <targetInstance> <id>sys0node0dimm0</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030000</default></attribute> <attribute><id>POSITION</id><default>0</default></attribute> <attribute> @@ -10735,6 +10758,9 @@ <id>VPD_REC_NUM</id> <default>0</default> </attribute> + <!--The eeprom associated w/ this target is marked as invalid in the prebuilt + EECACHE pnor section. It is expected that we detect this target as a + replacement to a part thathad been previously removed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10757,7 +10783,7 @@ <targetInstance> <id>sys0node0dimm1</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030001</default></attribute> <attribute><id>POSITION</id><default>1</default></attribute> <attribute> @@ -10787,6 +10813,10 @@ <id>VPD_REC_NUM</id> <default>1</default> </attribute> + <!--The eeprom associated w/ this target is marked as in the prebuilt + EECACHE pnor section but the contents of the cache entry are emtpy. + It is expected that we detect this target a mismatched PN/SN and + force a update of the eeprom's cache entry --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10809,7 +10839,7 @@ <targetInstance> <id>sys0node0dimm2</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030002</default></attribute> <attribute><id>POSITION</id><default>2</default></attribute> <attribute> @@ -10839,6 +10869,9 @@ <id>VPD_REC_NUM</id> <default>2</default> </attribute> + <!--The eeprom associated w/ this target will not have an entry in the EECACHE + that we preload in standalone simics. It should look like a newly detected + eeprom entry--> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10861,7 +10894,7 @@ <targetInstance> <id>sys0node0dimm3</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030003</default></attribute> <attribute><id>POSITION</id><default>3</default></attribute> <attribute> @@ -10891,6 +10924,9 @@ <id>VPD_REC_NUM</id> <default>3</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics that has corrupted PN/SN keywords. + We should interpret the PN/SN mismatch and treat it as a replacment --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10913,7 +10949,7 @@ <targetInstance> <id>sys0node0dimm4</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030004</default></attribute> <attribute><id>POSITION</id><default>4</default></attribute> <attribute> @@ -10943,6 +10979,8 @@ <id>VPD_REC_NUM</id> <default>4</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -10965,7 +11003,7 @@ <targetInstance> <id>sys0node0dimm5</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030005</default></attribute> <attribute><id>POSITION</id><default>5</default></attribute> <attribute> @@ -10995,6 +11033,8 @@ <id>VPD_REC_NUM</id> <default>5</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -11017,7 +11057,7 @@ <targetInstance> <id>sys0node0dimm6</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030006</default></attribute> <attribute><id>POSITION</id><default>6</default></attribute> <attribute> @@ -11047,6 +11087,8 @@ <id>REL_POS</id> <default>0</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -11069,7 +11111,7 @@ <targetInstance> <id>sys0node0dimm7</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030007</default></attribute> <attribute><id>POSITION</id><default>7</default></attribute> <attribute> @@ -11099,6 +11141,8 @@ <id>VPD_REC_NUM</id> <default>7</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -11121,7 +11165,7 @@ <targetInstance> <id>sys0node0dimm8</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030008</default></attribute> <attribute><id>POSITION</id><default>8</default></attribute> <attribute> @@ -11151,6 +11195,8 @@ <id>VPD_REC_NUM</id> <default>8</default> </attribute> + <!--The eeprom associated w/ this target will have a valid entry in the EECACHE + that we preload in standalone simics. No cache updates should be needed --> <attribute> <id>EEPROM_VPD_PRIMARY_INFO</id> <default> @@ -11172,7 +11218,7 @@ <targetInstance> <id>sys0node0dimm9</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x00030009</default></attribute> <attribute><id>POSITION</id><default>9</default></attribute> <attribute> @@ -11225,7 +11271,7 @@ <targetInstance> <id>sys0node0dimm10</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000A</default></attribute> <attribute><id>POSITION</id><default>10</default></attribute> <attribute> @@ -11278,7 +11324,7 @@ <targetInstance> <id>sys0node0dimm11</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000B</default></attribute> <attribute><id>POSITION</id><default>11</default></attribute> <attribute> @@ -11329,7 +11375,7 @@ <targetInstance> <id>sys0node0dimm12</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000C</default></attribute> <attribute><id>POSITION</id><default>12</default></attribute> <attribute> @@ -11380,7 +11426,7 @@ <targetInstance> <id>sys0node0dimm13</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000D</default></attribute> <attribute><id>POSITION</id><default>13</default></attribute> <attribute> @@ -11431,7 +11477,7 @@ <targetInstance> <id>sys0node0dimm14</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000E</default></attribute> <attribute><id>POSITION</id><default>14</default></attribute> <attribute> @@ -11482,7 +11528,7 @@ <targetInstance> <id>sys0node0dimm15</id> - <type>lcard-dimm-jedec</type> + <type>lcard-dimm-ddimm</type> <attribute><id>HUID</id><default>0x0003000F</default></attribute> <attribute><id>POSITION</id><default>15</default></attribute> <attribute> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 0b46660ff..fe2219b53 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -1547,6 +1547,63 @@ <targetType> <id>lcard-dimm-ddimm</id> <parent>lcard-dimm</parent> + <attribute> + <default> + <field> + <value>0xFF</value> + <id>byteAddrOffset</id> + </field> + <field> + <value>0xFF</value> + <id>chipCount</id> + </field> + <field> + <value>0xFF</value> + <id>devAddr</id> + </field> + <field> + <!--Since enum values cannot be used as default values in + a complexType, this is a workaround to set the value to the + corresponding enum value.--> + <!--value>DDIMM</value--> + <value>0x4</value> + <id>eepromContentType</id> + </field> + <field> + <value>0xFF</value> + <id>engine</id> + </field> + <field> + <value>physical:sys-0</value> + <id>i2cMasterPath</id> + </field> + <field> + <value>0xFF</value> + <id>i2cMuxBusSelector</id> + </field> + <field> + <value>physical:sys-0</value> + <id>i2cMuxPath</id> + </field> + <field> + <value>0xFFFFFFFFFFFFFFFF</value> + <id>maxMemorySizeKB</id> + </field> + <field> + <value>0xFF</value> + <id>port</id> + </field> + <field> + <value>0xFFFFFFFFFFFFFFFF</value> + <id>writeCycleTime</id> + </field> + <field> + <value>0xFFFFFFFFFFFFFFFF</value> + <id>writePageSize</id> + </field> + </default> + <id>EEPROM_VPD_PRIMARY_INFO</id> + </attribute> </targetType> <targetType> |