summaryrefslogtreecommitdiffstats
path: root/src/usr/fsi/fsidd.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/fsi/fsidd.C')
-rw-r--r--src/usr/fsi/fsidd.C20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/usr/fsi/fsidd.C b/src/usr/fsi/fsidd.C
index f2938d518..cac859f53 100644
--- a/src/usr/fsi/fsidd.C
+++ b/src/usr/fsi/fsidd.C
@@ -766,7 +766,7 @@ errlHndl_t FsiDD::read(const FsiAddrInfo_t& i_addrInfo,
errlHndl_t FsiDD::write(const FsiAddrInfo_t& i_addrInfo,
uint32_t* i_buffer)
{
- TRACDCOMP(g_trac_fsi, "FsiDD::write(relAddr=0x%llx,absAddr=0x%11x)> ", i_addrInfo.relAddr, i_addrInfo.absAddr );
+ TRACDCOMP(g_trac_fsi, "FsiDD::write(relAddr=0x%.llX,absAddr=0x%.11X)> ", i_addrInfo.relAddr, i_addrInfo.absAddr );
errlHndl_t l_err = NULL;
bool need_unlock = false;
mutex_t* l_mutex = NULL;
@@ -826,7 +826,7 @@ errlHndl_t FsiDD::write(const FsiAddrInfo_t& i_addrInfo,
mutex_unlock(l_mutex);
}
- //TRACDCOMP(g_trac_fsi, "< FsiDD::write() ", i_address); //TODO BUG!
+ TRACDCOMP(g_trac_fsi, "< FsiDD::write() " );
return l_err;
}
@@ -1177,7 +1177,13 @@ errlHndl_t FsiDD::initPort(FsiChipInfo_t i_fsiInfo,
if( !isSlavePresent(i_fsiInfo.master,i_fsiInfo.type,i_fsiInfo.port) )
{
TRACDCOMP( g_trac_fsi, "FsiDD::initPort> Slave %.8X is not present", i_fsiInfo.linkid.id );
- //TRACDCOMP( g_trac_fsi, " : sensebits=%.2X, portbit=%.2X", iv_slaves[getSlaveEnableIndex(i_fsiInfo.master,i_fsiInfo.type)], portbit ); TODO BUG!!
+#ifdef HOSTBOOT_DEBUG
+ uint64_t slave_index = getSlaveEnableIndex(i_fsiInfo.master,i_fsiInfo.type);
+ if( slave_index != INVALID_SLAVE_INDEX )
+ {
+ TRACDCOMP( g_trac_fsi, " : sensebits=%.2X, portbit=%.2X", iv_slaves[slave_index], portbit );
+ }
+#endif
break;
}
TRACFCOMP( g_trac_fsi, "FsiDD::initPort> Slave %.8X is present", i_fsiInfo.linkid.id );
@@ -1423,6 +1429,11 @@ uint64_t FsiDD::getPortOffset(TARGETING::FSI_MASTER_TYPE i_type,
uint64_t FsiDD::getSlaveEnableIndex( const TARGETING::Target* i_master,
TARGETING::FSI_MASTER_TYPE i_type )
{
+ if( i_master == NULL )
+ {
+ return INVALID_SLAVE_INDEX;
+ }
+
//default to local slave ports
uint64_t slave_index = MAX_SLAVE_PORTS+i_type;
if( i_master != iv_master )
@@ -1458,7 +1469,8 @@ FsiDD::FsiChipInfo_t FsiDD::getFsiInfo( const TARGETING::Target* i_target )
EntityPath epath;
- if( i_target->tryGetAttr<ATTR_FSI_MASTER_TYPE>(info.type) )
+ if( (i_target != NULL) &&
+ i_target->tryGetAttr<ATTR_FSI_MASTER_TYPE>(info.type) )
{
if( info.type != FSI_MASTER_TYPE_NO_MASTER )
{
OpenPOWER on IntegriCloud