summaryrefslogtreecommitdiffstats
path: root/src/usr/vpd
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/vpd')
-rw-r--r--src/usr/vpd/cvpd.C24
-rw-r--r--src/usr/vpd/mvpd.C24
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
}
OpenPOWER on IntegriCloud