diff options
author | Bill Hoffa <wghoffa@us.ibm.com> | 2019-04-18 14:44:32 -0500 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2019-04-24 14:24:16 -0500 |
commit | f619d06251d5c63b707fcae87aa1c9e396f4ff74 (patch) | |
tree | 24a75a7b280c1ff6d1d6338c53376d57ebe85735 /src | |
parent | 239bd856fd664ca51a8fcc019b73a6fcd894c6bb (diff) | |
download | talos-hostboot-f619d06251d5c63b707fcae87aa1c9e396f4ff74.tar.gz talos-hostboot-f619d06251d5c63b707fcae87aa1c9e396f4ff74.zip |
Verify Dimm Type in DJVPD Cache
Change-Id: I95cf68ff66ef8710b476fbd4802ea12870bd9509
CQ: SW463042
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76177
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>
Diffstat (limited to 'src')
-rw-r--r-- | src/usr/vpd/spd.C | 36 |
1 files changed, 28 insertions, 8 deletions
diff --git a/src/usr/vpd/spd.C b/src/usr/vpd/spd.C index a58398e4a..34bc37cec 100644 --- a/src/usr/vpd/spd.C +++ b/src/usr/vpd/spd.C @@ -2368,17 +2368,37 @@ errlHndl_t cmpPnorToSeeprom ( TARGETING::Target * i_target, o_match = false; do { - // Read the Basic Memory Type - uint8_t memType(MEM_TYPE_INVALID); - err = getMemType( memType, + // Read the Basic Memory Type from the Seeprom + uint8_t memTypeSeeprom(MEM_TYPE_INVALID); + err = getMemType( memTypeSeeprom, i_target, - VPD::AUTOSELECT ); + VPD::SEEPROM ); + if( err ) + { + break; + } + + if( false == isValidDimmType(memTypeSeeprom) ) + { + break; + } + + // Read the Basic Memory Type from PNOR + uint8_t memTypePnor(MEM_TYPE_INVALID); + err = getMemType( memTypePnor, + i_target, + VPD::PNOR ); if( err ) { break; } - if( false == isValidDimmType(memType) ) + if( false == isValidDimmType(memTypePnor) ) + { + break; + } + + if (memTypeSeeprom != memTypePnor) { break; } @@ -2386,7 +2406,7 @@ errlHndl_t cmpPnorToSeeprom ( TARGETING::Target * i_target, // Get the keyword size const KeywordData* entry = NULL; err = getKeywordEntry( i_keyword, - memType, + memTypePnor, i_target, entry ); if( err ) @@ -2403,7 +2423,7 @@ errlHndl_t cmpPnorToSeeprom ( TARGETING::Target * i_target, dataPnor, sizePnor, i_target, - memType, + memTypePnor, VPD::PNOR ); if( err ) { @@ -2420,7 +2440,7 @@ errlHndl_t cmpPnorToSeeprom ( TARGETING::Target * i_target, dataSeeprom, sizeSeeprom, i_target, - memType, + memTypePnor, VPD::SEEPROM ); if( err ) { |