44 #ifndef __DEV_IO_DEVICE_HH__
45 #define __DEV_IO_DEVICE_HH__
49 #include "params/BasicPioDevice.hh"
50 #include "params/PioDevice.hh"
166 #endif // __DEV_IO_DEVICE_HH__
const PortID InvalidPortID
virtual Tick read(PacketPtr pkt)=0
Pure virtual function that the device must implement.
virtual Tick recvAtomic(PacketPtr pkt)
Receive an atomic request packet from the master port.
A BaseSlavePort is a protocol-agnostic slave port, responsible only for the structural connection to ...
BasicPioDevice(const Params *p, Addr size)
PioPort pioPort
The pioPort that handles the requests for us and provides us requests that it sees.
const Params * params() const
The simple timing port uses a queued port to implement recvFunctional and recvTimingReq through recvA...
BasicPioDeviceParams Params
Declaration of SimpleTimingPort.
virtual Tick write(PacketPtr pkt)=0
Pure virtual function that the device must implement.
Addr pioSize
Size that the device's address range.
uint64_t Tick
Tick count type.
virtual AddrRangeList getAddrRanges() const
Get a list of the non-overlapping address ranges the owner is responsible for.
virtual AddrRangeList getAddrRanges() const =0
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
This device is the base class which all devices senstive to an address range inherit from...
PioDevice * device
The device that this port serves.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual BaseSlavePort & getSlavePort(const std::string &if_name, PortID idx=InvalidPortID)
Get a slave port with a given name and index.
const Params * params() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
virtual AddrRangeList getAddrRanges() const
Determine the address ranges that this device responds to.
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
The MemObject class extends the ClockedObject with accessor functions to get its master and slave por...
const SimObjectParams * _params
Cached copy of the object parameters.
Tick pioDelay
Delay that the device experinces on an access.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
PioDevice(const Params *p)
The PioPort class is a programmed i/o port that all devices that are sensitive to an address range us...
Addr pioAddr
Address that the device listens to.