Example #1
0
u32 showDeviceInfo()
{
	u32 configAddress = calculateAddress(bus, device, function, 0x00); 
	u32 RegData = getRegData(configAddress);   

	if (RegData == -1)
	{
		return 1;
	}
	

	u32 DeviceID = RegData >> 16;               
	u32 VendorID = RegData - (DeviceID << 16);

	
	configAddress = calculateAddress(bus, device, function, 0x08);
	RegData = getRegData(configAddress);

	u32 ClassID = RegData >> 8;                             
	u32 RevisionID = RegData - (ClassID << 8);

	u32 BaseClassCode = ClassID >> 16;              
	u32 Progu32erface = ClassID - (BaseClassCode << 16); 
	u32 SubClassCode = Progu32erface >> 8;             
	Progu32erface = Progu32erface - (SubClassCode << 8);    

	
	configAddress = calculateAddress(bus, device, function, 0x2C);
	RegData = getRegData(configAddress);

	u32 SubsysID = RegData >> 16;
	u32 SubsysVendID = RegData - (SubsysID << 16);

	printf("Bus: %x, device: %x, function: %x\n", bus, device, function); 
	printf("Device ID: %x, Vendor ID: %x, Class ID: %x-%x-%x\n", DeviceID, VendorID, BaseClassCode, SubClassCode, Progu32erface);
	printf("Revision ID: %x, Subsystem ID: %x, Subsystem Vendor ID: %x\n", RevisionID, SubsysID, SubsysVendID);
	decodeNames(DeviceID, VendorID, BaseClassCode, SubClassCode, Progu32erface);
	printf("-------------------------------------------------------------------------------\n");

	return 0;
}
Example #2
0
//=============================================================================
// Initialisation. Check parameters
//=============================================================================
StatusCode GaudiSequencer::initialize() {
  GaudiAlgorithm::initialize();

  if (msgLevel(MSG::DEBUG)) debug() << "==> Initialise" << endmsg;

  StatusCode status = decodeNames();
  if ( !status.isSuccess() ) return status;

  m_timerTool = tool<ISequencerTimerTool>( "SequencerTimerTool" );
  if ( m_timerTool->globalTiming() ) m_measureTime = true;

  if ( m_measureTime ) {
    m_timer = m_timerTool->addTimer( name() );
    m_timerTool->increaseIndent();
  } else {
    release( m_timerTool );
    m_timerTool = 0;
  }

  //== Initialize the algorithms
  std::vector<AlgorithmEntry>::iterator itE;
  for ( itE = m_entries.begin(); m_entries.end() != itE; itE++ ) {
    if ( m_measureTime ) {
      itE->setTimer( m_timerTool->addTimer( itE->algorithm()->name() ) );
    }

    status = itE->algorithm()->sysInitialize();
    if ( !status.isSuccess() ) {
      return Error( "Can not initialize " + itE->algorithm()->name(),
                    status );
    }
  }
  if ( m_measureTime ) m_timerTool->decreaseIndent();

  return StatusCode::SUCCESS;
}