diff options
| author | Christian Geddes <crgeddes@us.ibm.com> | 2019-07-03 15:37:35 -0500 |
|---|---|---|
| committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-07-17 15:16:41 -0500 |
| commit | 73acf956a1b5a8e3e22570ba927c6f89e8ad74f0 (patch) | |
| tree | 4fb7aee59519b114bf3d868f95ee5d739363c5b4 /src/include/usr/i2c | |
| parent | e7f8781ee64c8758890e58967cc13532c3c477a8 (diff) | |
| download | blackbird-hostboot-73acf956a1b5a8e3e22570ba927c6f89e8ad74f0.tar.gz blackbird-hostboot-73acf956a1b5a8e3e22570ba927c6f89e8ad74f0.zip | |
Support reading from EECACHE during runtime
To support VPD accesses at runtime we had to add support to access
the information in the EECACHE section of pnor during runtime. To
do this we copy the contents of the EECACHE section into reserved
memory during the runtime setup steps of hostboot. Then when HBRT
is loaded we will process that EECACHE section and built up a map
that will allow read/write accesses to the eecache section just
like during the IPL.
Change-Id: I2d08c883e6c09c3194d85abe141c35bb2b76b126
RTC: 204341
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/79985
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: Matt Derksen <mderkse1@us.ibm.com>
Reviewed-by: Glenn Miles <milesg@ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/i2c')
| -rw-r--r-- | src/include/usr/i2c/eepromddreasoncodes.H | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/include/usr/i2c/eepromddreasoncodes.H b/src/include/usr/i2c/eepromddreasoncodes.H index c08935ab4..41de06dfa 100644 --- a/src/include/usr/i2c/eepromddreasoncodes.H +++ b/src/include/usr/i2c/eepromddreasoncodes.H @@ -58,6 +58,8 @@ enum eepromModuleId EEPROM_CLEAR_EECACHE = 0x08, EEPROM_CACHE_PERFORM_OP = 0x09, EEPROM_INVALIDATE_CACHE = 0x0A, + EEPROM_RESOLVE_SOURCE = 0x0B, + EEPROM_CACHE_INIT_RT = 0x0C, }; /** @@ -92,6 +94,10 @@ enum eepromReasonCode // what eeproms have been cached was not found EEPROM_CACHE_NOT_FOUND_IN_PNOR = EEPROM_COMP_ID | 0x10, // An entry we thought would be in the the EECACHE section of PNOR seems // to be missing + EEPROM_CACHE_NO_VPD_IN_RSV_MEM = EEPROM_COMP_ID | 0x11, // When looking up the VPD section in reserved memory no entry was found. + EEPROM_DUPLICATE_CACHE_ENTRY = EEPROM_COMP_ID | 0x12 // While parsing eecache found in reserved memory we found at least two + // cache entries that had identical "unique" identifiers + // (see structs defined in eeprom_const.H) }; enum UserDetailsTypes |

