44#include "debug/AddrRanges.hh"
62 panic(
"Pio port of %s not connected to anything!",
name());
69 if (if_name ==
"pio") {
Addr pioAddr
Address that the device listens to.
BasicPioDevice(const Params &p, Addr size)
AddrRangeList getAddrRanges() const override
Determine the address ranges that this device responds to.
Tick pioDelay
Delay that the device experinces on an access.
Addr pioSize
Size that the device's address range.
ClockedObject(const ClockedObjectParams &p)
virtual std::string name() const
PioDevice(const Params &p)
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
PioPort< PioDevice > pioPort
The pioPort that handles the requests for us and provides us requests that it sees.
void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
Ports are used to interface objects to each other.
AddrRange RangeSize(Addr start, Addr size)
std::list< AddrRange > AddrRangeList
Convenience typedef for a collection of address ranges.
#define panic(...)
This implements a cprintf based panic() function.
virtual Port & getPort(const std::string &if_name, PortID idx=InvalidPortID)
Get a port with a given name and index.
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.