diff options
author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2019-03-28 13:35:28 -0500 |
---|---|---|
committer | Nicholas E. Bofferding <bofferdn@us.ibm.com> | 2019-03-30 08:41:17 -0500 |
commit | 571956c7f546d84211d955b93d540a992795544a (patch) | |
tree | 9288776c0e7d5ec4089baad84568b6188770fe6f | |
parent | b445b93fc21ee80515090087e063fd74b8d508a3 (diff) | |
download | talos-hostboot-571956c7f546d84211d955b93d540a992795544a.tar.gz talos-hostboot-571956c7f546d84211d955b93d540a992795544a.zip |
Create Attribute to force UCD Updates
This commit adds ATTR_UCD_MFR_REVISION_OVERRIDE such that a user can
override the MFR_REVISION seen on a UCD device. This could then force
a UCD flash update.
Change-Id: I3d807b3ddf2c62752046953f0f3d1754d80da381
RTC:205982
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75179
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
-rw-r--r-- | src/usr/isteps/ucd/updateUcdFlash.C | 30 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 14 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 6 |
3 files changed, 46 insertions, 4 deletions
diff --git a/src/usr/isteps/ucd/updateUcdFlash.C b/src/usr/isteps/ucd/updateUcdFlash.C index 4c90540fe..5648a331f 100644 --- a/src/usr/isteps/ucd/updateUcdFlash.C +++ b/src/usr/isteps/ucd/updateUcdFlash.C @@ -1798,9 +1798,31 @@ errlHndl_t updateAllUcdFlashImages( break; } - if(tocEntry.mfrRevision == mfrRevision) + // If ATTR_UCD_MFR_REVISION_OVERRIDE is non-zero use its value + // instead of tocEntry.mfrRevision + auto mfrRevisionCheck = 0; + auto mfrRevisionOverride = + powerSequencer->getAttr< + TARGETING::ATTR_UCD_MFR_REVISION_OVERRIDE>(); + + if (mfrRevisionOverride != 0) { - TRACFCOMP(g_trac_ucd,INFO_MRK + mfrRevisionCheck = mfrRevisionOverride; + TRACFCOMP(g_trac_ucd,INFO_MRK + "updateAllUcdFlashImages: Using " + "ATTR_UCD_MFR_REVISION_OVERRIDE value of 0x%04X rather " + "than TOC Entry MFR Revision of (0x%04X) for incoming UCD " + "sub-flash image", + mfrRevisionCheck, tocEntry.mfrRevision); + } + else + { + mfrRevisionCheck = tocEntry.mfrRevision; + } + + if(mfrRevisionCheck == mfrRevision) + { + TRACFCOMP(g_trac_ucd,INFO_MRK "updateAllUcdFlashImages: Device has MFR revision of " "0x%04X which matches incoming UCD sub-flash image " "version, so inhibit flash update", @@ -1810,11 +1832,11 @@ errlHndl_t updateAllUcdFlashImages( } else { - TRACFCOMP(g_trac_ucd,INFO_MRK + TRACFCOMP(g_trac_ucd,INFO_MRK "updateAllUcdFlashImages: Device has different MFR revision" " (0x%04X) than the incoming UCD sub-flash image " "version (0x%04X), so perform flash update", - mfrRevision, tocEntry.mfrRevision); + mfrRevision, mfrRevisionCheck); } // Turns out doing the check via UtilMem is not that easy, diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index 4e672e518..bc2253b31 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -8105,6 +8105,20 @@ </enumerationType> <attribute> + <id>UCD_MFR_REVISION_OVERRIDE</id> + <description> + If non-zero then use value as the discovered MFR_REVISION value from + the UCD device rather than the actual value from the device. + </description> + <simpleType> + <uint16_t/> + </simpleType> + <persistency>volatile-zeroed</persistency> + <readable/> + <no_export/> + </attribute> + + <attribute> <description> The ultra turbo frequency in MHz. This is the same for all cores in the system. diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index e8820f5e9..704cbf48c 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -1916,6 +1916,9 @@ <id>MODEL</id> <default>UCD90120A</default> </attribute> + <attribute> + <id>UCD_MFR_REVISION_OVERRIDE</id> + </attribute> </targetType> <targetType> @@ -1925,6 +1928,9 @@ <id>MODEL</id> <default>UCD9090</default> </attribute> + <attribute> + <id>UCD_MFR_REVISION_OVERRIDE</id> + </attribute> </targetType> <targetType> |