diff options
Diffstat (limited to 'src/usr/hwas')
-rw-r--r-- | src/usr/hwas/hwas.C | 20 |
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 ) { |