44#include "debug/AddrRanges.hh"
62 panic(
"Pio port of %s not connected to anything!",
name());
69 if (if_name ==
"pio") {
77 pioDelay(
p.pio_latency)
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.
Addr pioSize
Size that the device's address range.
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
virtual std::string name() const
This device is the base class which all devices senstive to an address range inherit from.
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)
#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 - Pranith Kumar Copyright (c) 2020 Inria 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.