diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2014-10-07 23:14:39 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-10-15 13:07:25 -0500 |
commit | b04e8988d70d214eabf9d1a8c51df462ba1a6b02 (patch) | |
tree | 168214226923508360af49ead91c685fac6a247b | |
parent | 87961b7259f8d08bd6165d22821492016bf6e386 (diff) | |
download | talos-hostboot-b04e8988d70d214eabf9d1a8c51df462ba1a6b02.tar.gz talos-hostboot-b04e8988d70d214eabf9d1a8c51df462ba1a6b02.zip |
Fix for VPD presence detect when reading from HW
Temporary fix to get Palmetto working again.
Change-Id: I601a83703d1729cbc7e67008e6853ca7ecc13856
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13864
Tested-by: Jenkins Server
Reviewed-by: ANDRES A. LUGO-REYES <aalugore@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/usr/vpd/cvpd.C | 24 | ||||
-rw-r--r-- | src/usr/vpd/mvpd.C | 24 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/usr/vpd/cvpd.C b/src/usr/vpd/cvpd.C index 4abc9bdf8..406511fb7 100644 --- a/src/usr/vpd/cvpd.C +++ b/src/usr/vpd/cvpd.C @@ -189,9 +189,33 @@ namespace CVPD //--------------------------------------------------------- bool VPD::cvpdPresent( TARGETING::Target * i_target ) { +#ifdef CONFIG_CVPD_READ_FROM_HW + //@todo - Fix this the right way with RTC:117048 + IpVpdFacade::input_args_t args; + args.record = CVPD::VEIR; + args.keyword = CVPD::PF ; + size_t kwlen = 0; + errlHndl_t l_errl = Singleton<CvpdFacade>::instance().read( + i_target, + NULL, + kwlen, + args ); + if( l_errl ) + { + delete l_errl; + return false; + } + if( kwlen == 0 ) + { + return false; + } + return true; + +#else return Singleton<CvpdFacade>::instance().hasVpdPresent( i_target, CVPD::VEIR, CVPD::PF ); +#endif } diff --git a/src/usr/vpd/mvpd.C b/src/usr/vpd/mvpd.C index 0e9801984..6498e2561 100644 --- a/src/usr/vpd/mvpd.C +++ b/src/usr/vpd/mvpd.C @@ -185,9 +185,33 @@ namespace MVPD // --------------------------------------------------------- bool VPD::mvpdPresent( TARGETING::Target * i_target ) { +#ifdef CONFIG_MVPD_READ_FROM_HW + //@todo - Fix this the right way with RTC:117048 + IpVpdFacade::input_args_t args; + args.record = MVPD::CP00; + args.keyword = MVPD::VD; + size_t kwlen = 0; + errlHndl_t l_errl = Singleton<MvpdFacade>::instance().read( + i_target, + NULL, + kwlen, + args ); + if( l_errl ) + { + delete l_errl; + return false; + } + if( kwlen == 0 ) + { + return false; + } + return true; + +#else return Singleton<MvpdFacade>::instance().hasVpdPresent( i_target, MVPD::CP00, MVPD::VD ); +#endif } |