40 :
reset(module_name +
".reset"),
41 halt(module_name +
".halt")
47 nsrvbar(module_name +
".nsrvbar"),
48 rvbar(module_name +
".rvbar"),
49 reset(module_name +
".reset"),
50 halt(module_name +
".halt")
52 panic_if(
cpu ==
nullptr,
"ResetControllerExample needs a target cpu.");
54 [
this] (
auto &
reg,
auto val)
59 [
this] (
auto &
reg,
auto val)
64 [
this] (
auto &
reg,
auto val)
71 [
this] (
auto &
reg,
auto val)
107 if (size != 4 && size != 8) {
119 if (if_name ==
"reset")
121 else if (if_name ==
"halt")
Addr pioAddr
Address that the device listens to.
Tick pioDelay
Delay that the device experinces on an access.
virtual void setResetAddr(Addr addr, bool secure=false)
virtual std::string name() const
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
void makeResponse()
Take a request packet and modify it in place to be suitable for returning as a response to that reque...
T * getPtr()
get a pointer to the data ptr.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Ports are used to interface objects to each other.
bool isConnected() const
Is this port currently connected to a peer?
const std::string name() const
Return port name (for DPRINTF).
void addRegisters(std::initializer_list< RegisterAdder > adders)
virtual void write(Addr addr, const void *buf, Addr bytes)
void set(const State &new_state, const bool bypass_on_change=false)
Registers(const std::string &, Iris::BaseCPU *, CorePins *)
Port & getPort(const std::string &, PortID=InvalidPortID) override
Get a port with a given name and index.
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
ResetControllerExample(const Params &)
FastModelResetControllerExampleParams Params
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
uint64_t Tick
Tick count type.
SignalSourcePort< bool > reset
CorePins(const std::string &)
SignalSourcePort< bool > halt