summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2019-06-21 16:11:32 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-06-26 16:45:21 -0500
commit3805319f1d630c6bc9c022b3e9eeb601aa3ffbf4 (patch)
tree0d5327e039f273391bfc9b20269968a683b6bd14 /src/usr/targeting
parent6fccf28881ecc8adb2c6f1ed877e1f41967ab8a6 (diff)
downloadtalos-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.xml78
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml57
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>
OpenPOWER on IntegriCloud