gem5  v20.1.0.0
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
PciHost::DeviceInterface Class Reference

Callback interface from PCI devices to the host. More...

#include <host.hh>

Public Member Functions

 DeviceInterface ()=delete
 
void operator= (const DeviceInterface &)=delete
 
const std::string name () const
 
void postInt ()
 Post a PCI interrupt to the CPU. More...
 
void clearInt ()
 Clear a posted PCI interrupt. More...
 
Addr pioAddr (Addr addr) const
 Calculate the physical address of an IO location on the PCI bus. More...
 
Addr memAddr (Addr addr) const
 Calculate the physical address of a non-prefetchable memory location in the PCI address space. More...
 
Addr dmaAddr (Addr addr) const
 Calculate the physical address of a prefetchable memory location in the PCI address space. More...
 

Protected Member Functions

 DeviceInterface (PciHost &host, PciBusAddr &bus_addr, PciIntPin pin)
 Instantiate a device interface. More...
 

Protected Attributes

PciHosthost
 
const PciBusAddr busAddr
 
const PciIntPin interruptPin
 

Friends

class ::PciHost
 

Detailed Description

Callback interface from PCI devices to the host.

Devices get an instance of this object when they register themselves with the host using the PciHost::registerDevice() call.

Definition at line 91 of file host.hh.

Constructor & Destructor Documentation

◆ DeviceInterface() [1/2]

PciHost::DeviceInterface::DeviceInterface ( PciHost host,
PciBusAddr bus_addr,
PciIntPin  pin 
)
protected

Instantiate a device interface.

Parameters
hostPCI host that this device belongs to.
bus_addrThe device's position on the PCI bus
pinInterrupt pin

Definition at line 86 of file host.cc.

◆ DeviceInterface() [2/2]

PciHost::DeviceInterface::DeviceInterface ( )
delete

Member Function Documentation

◆ clearInt()

void PciHost::DeviceInterface::clearInt ( )

Clear a posted PCI interrupt.

Definition at line 110 of file host.cc.

References DPRINTF.

Referenced by PciDevice::intrClear().

◆ dmaAddr()

Addr PciHost::DeviceInterface::dmaAddr ( Addr  addr) const
inline

Calculate the physical address of a prefetchable memory location in the PCI address space.

Parameters
addrAddress in the PCI DMA memory address space
Returns
Address in the system's physical address space.

Definition at line 146 of file host.hh.

References addr, busAddr, PciHost::dmaAddr(), and host.

Referenced by PciDevice::pciToDma().

◆ memAddr()

Addr PciHost::DeviceInterface::memAddr ( Addr  addr) const
inline

Calculate the physical address of a non-prefetchable memory location in the PCI address space.

Parameters
addrAddress in the PCI memory address space
Returns
Address in the system's physical address space.

Definition at line 137 of file host.hh.

References addr, busAddr, host, and PciHost::memAddr().

Referenced by PciDevice::writeConfig().

◆ name()

const std::string PciHost::DeviceInterface::name ( ) const

Definition at line 95 of file host.cc.

References csprintf().

◆ operator=()

void PciHost::DeviceInterface::operator= ( const DeviceInterface )
delete

◆ pioAddr()

Addr PciHost::DeviceInterface::pioAddr ( Addr  addr) const
inline

Calculate the physical address of an IO location on the PCI bus.

Parameters
addrAddress in the PCI IO address space
Returns
Address in the system's physical address space.

Definition at line 128 of file host.hh.

References addr, busAddr, host, and PciHost::pioAddr().

Referenced by PciDevice::writeConfig().

◆ postInt()

void PciHost::DeviceInterface::postInt ( )

Post a PCI interrupt to the CPU.

Definition at line 102 of file host.cc.

References DPRINTF.

Referenced by PciDevice::intrPost().

Friends And Related Function Documentation

◆ ::PciHost

friend class ::PciHost
friend

Definition at line 93 of file host.hh.

Member Data Documentation

◆ busAddr

const PciBusAddr PciHost::DeviceInterface::busAddr
protected

Definition at line 151 of file host.hh.

Referenced by dmaAddr(), memAddr(), and pioAddr().

◆ host

PciHost& PciHost::DeviceInterface::host
protected

Definition at line 149 of file host.hh.

Referenced by dmaAddr(), memAddr(), and pioAddr().

◆ interruptPin

const PciIntPin PciHost::DeviceInterface::interruptPin
protected

Definition at line 152 of file host.hh.


The documentation for this class was generated from the following files:

Generated on Wed Sep 30 2020 14:02:29 for gem5 by doxygen 1.8.17