Go to the documentation of this file.
44 #include "debug/AddrRanges.hh"
59 panic(
"Pio port of %s not connected to anything!",
name());
66 if (if_name ==
"pio") {
73 :
PioDevice(
p), pioAddr(
p->pio_addr), pioSize(size),
74 pioDelay(
p->pio_latency)
Addr pioAddr
Address that the device listens to.
PioDevice(const Params *p)
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
BasicPioDevice(const Params *p, Addr size)
This device is the base class which all devices senstive to an address range inherit from.
virtual Port & getPort(const std::string &if_name, PortID idx=InvalidPortID)
Get a port with a given name and index.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
AddrRangeList getAddrRanges() const override
Determine the address ranges that this device responds to.
Ports are used to interface objects to each other.
AddrRange RangeSize(Addr start, Addr size)
Addr pioSize
Size that the device's address range.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual const std::string name() const
bool isConnected() const
Is this port currently connected to a peer?
void sendRangeChange() const
Called by the owner to send a range change.
#define panic(...)
This implements a cprintf based panic() function.
PioPort< PioDevice > pioPort
The pioPort that handles the requests for us and provides us requests that it sees.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17