diff options
author | crgeddes <crgeddes@us.ibm.com> | 2016-10-14 11:00:00 -0500 |
---|---|---|
committer | Matthew A. Ploetz <maploetz@us.ibm.com> | 2016-11-10 15:47:27 -0500 |
commit | 764ba99a40a501f8678de058319ecda85c8ec41d (patch) | |
tree | c395105522d3033591443a6cdab0bc8518e737f4 /src/usr/vpd | |
parent | d4d316443eb780822ffb39f0ceeac964ffdd5a01 (diff) | |
download | talos-hostboot-764ba99a40a501f8678de058319ecda85c8ec41d.tar.gz talos-hostboot-764ba99a40a501f8678de058319ecda85c8ec41d.zip |
Re-enable error catching for missing VPD records
We put a hack in temporarily to allow MEMD records to be read
without a TOC. This hack needs to be removed when the VPD generation
tools get updated to add in the TOC for MEMD records
Change-Id: I66ff6509161219ab043ab84ecf5dba84f16fe6da
RTC: 162329
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/31246
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matt Derksen <v2cibmd@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/usr/vpd')
-rw-r--r-- | src/usr/vpd/ipvpd.C | 70 |
1 files changed, 30 insertions, 40 deletions
diff --git a/src/usr/vpd/ipvpd.C b/src/usr/vpd/ipvpd.C index be79f83c3..47fdd21a5 100644 --- a/src/usr/vpd/ipvpd.C +++ b/src/usr/vpd/ipvpd.C @@ -1085,49 +1085,39 @@ errlHndl_t IpVpdFacade::findRecordOffsetPnor ( const char * i_record, "No matching Record (%s) found in TOC!", i_record ); - // TODO RTC: 162329 Ignore missing records because some records are - // currently missing the Table of Contents are their start - if (!((* i_record == 'M') && - (*(i_record + 1) == 'E') && - (*(i_record + 2) == 'M') && - (*(i_record + 3) == 'D') )) - { - /*@ - * @errortype - * @reasoncode VPD::VPD_RECORD_NOT_FOUND - * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE - * @moduleid VPD::VPD_IPVPD_FIND_RECORD_OFFSET - * @userdata1 Requested Record - * @userdata2 Requested Keyword - * @devdesc The requested record was not found in the VPD TOC. - */ - err = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, - VPD::VPD_IPVPD_FIND_RECORD_OFFSET, - VPD::VPD_RECORD_NOT_FOUND, - i_args.record, - i_args.keyword ); + /*@ + * @errortype + * @reasoncode VPD::VPD_RECORD_NOT_FOUND + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid VPD::VPD_IPVPD_FIND_RECORD_OFFSET + * @userdata1 Requested Record + * @userdata2 Requested Keyword + * @devdesc The requested record was not found in the VPD TOC. + */ + err = new ERRORLOG::ErrlEntry( ERRORLOG::ERRL_SEV_UNRECOVERABLE, + VPD::VPD_IPVPD_FIND_RECORD_OFFSET, + VPD::VPD_RECORD_NOT_FOUND, + i_args.record, + i_args.keyword ); - // Could be the VPD of the target wasn't set up properly - // -- DECONFIG so that we can possibly keep booting - err->addHwCallout( i_target, - HWAS::SRCI_PRIORITY_HIGH, - HWAS::DECONFIG, - HWAS::GARD_NULL ); - // Or FSP code didn't set up the VPD properly - err->addProcedureCallout(HWAS::EPUB_PRC_SP_CODE, - HWAS::SRCI_PRIORITY_MED); + // Could be the VPD of the target wasn't set up properly + // -- DECONFIG so that we can possibly keep booting + err->addHwCallout( i_target, + HWAS::SRCI_PRIORITY_HIGH, + HWAS::DECONFIG, + HWAS::GARD_NULL ); + // Or FSP code didn't set up the VPD properly + err->addProcedureCallout(HWAS::EPUB_PRC_SP_CODE, + HWAS::SRCI_PRIORITY_MED); + + // Or HB code didn't look for the record properly + err->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE, + HWAS::SRCI_PRIORITY_LOW); + + // Add trace to the log so we know what record was being requested. + err->collectTrace( "VPD", 256 ); - // Or HB code didn't look for the record properly - err->addProcedureCallout(HWAS::EPUB_PRC_HB_CODE, - HWAS::SRCI_PRIORITY_LOW); - // Add trace to the log so we know what record was being requested. - err->collectTrace( "VPD", 256 ); - } - else - { - TRACFCOMP(g_trac_vpd, ERR_MRK"No TOC on MEMD record, assuming offset to be 0!"); - } } // Return the offset found, after byte swapping it. |