summaryrefslogtreecommitdiffstats
path: root/src/usr/hwas/hwas.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwas/hwas.C')
-rw-r--r--src/usr/hwas/hwas.C20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/usr/hwas/hwas.C b/src/usr/hwas/hwas.C
index c7872d033..f5948e859 100644
--- a/src/usr/hwas/hwas.C
+++ b/src/usr/hwas/hwas.C
@@ -39,8 +39,7 @@
#include <trace/interface.H>
#include <initservice/taskargs.H>
#include <errl/errlentry.H>
-#include <targeting/target.H> // targeting
-
+#include <targeting/targetservice.H>
#include <fsi/fsiif.H>
#include <hwas/hwas.H>
@@ -71,6 +70,23 @@ namespace HWAS
TRACDCOMP( g_trac_hwas, "init_fsi entry" );
// printkd("init_fsi\n");
+ //@todo
+ //@VBU workaround - Disable init_fsi
+ //Temporarily disable the FSI initialization in VBU because of
+ //an MFSI/CFSI XSCOM hardware bug.
+ TARGETING::EntityPath syspath(TARGETING::EntityPath::PATH_PHYSICAL);
+ syspath.addLast(TARGETING::TYPE_SYS,0);
+ TARGETING::Target* sys = TARGETING::targetService().toTarget(syspath);
+ uint8_t vpo_mode = 0;
+ if( sys
+ && sys->tryGetAttr<TARGETING::ATTR_VPO_MODE>(vpo_mode)
+ && (vpo_mode == 1) )
+ {
+ TASKARGS_WAIT_AND_ENDTASK();
+ TRACFCOMP( g_trac_hwas, "HWBUG Workaround - No FSI initialization");
+ return;
+ }
+
l_errl = FSI::initializeHardware( );
if ( l_errl )
{
OpenPOWER on IntegriCloud