38#ifndef __DEV_ARM_WATCHDOG_GENERIC_HH__
39#define __DEV_ARM_WATCHDOG_GENERIC_HH__
48struct GenericWatchdogParams;
65 bool enabled()
const {
return controlStatus.enabled; }
98 "The Generic Watchdog shall be disabled when "
99 "the System Counter is being updated, or "
100 "the results are unpredictable");
135 WCTRLS controlStatus;
The AddrRange class encapsulates an address range, and supports a number of tests to check if two ran...
Generic representation of an Arm interrupt pin.
System Counter Listener: This object is being notified any time there is a change in the SystemCounte...
void notify(void) override
Called from the SystemCounter when a change in counting speed occurred Events should be rescheduled p...
Listener(GenericWatchdog &_parent)
const uint32_t iidr
Interface Identification Register.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
const AddrRange controlFrame
EventFunctionWrapper timeoutEvent
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
ArmInterruptPin *const ws1
void writeRefresh(Addr addr, uint32_t data)
uint64_t compare
Compare Register.
const AddrRange refreshFrame
uint32_t readControl(Addr addr)
EndBitUnion(WCTRLS) WCTRLS controlStatus
Control and Status Register.
GenericWatchdog(const GenericWatchdogParams ¶ms)
AddrRangeList getAddrRanges() const override
Every PIO device is obliged to provide an implementation that returns the address ranges the device r...
BitUnion32(WCTRLS) Bitfield< 2 > ws1
void writeControl(Addr addr, uint32_t data)
uint32_t offset
Offset Register.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
uint32_t readRefresh(Addr addr)
ArmInterruptPin *const ws0
Watchdog Signals (IRQs)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
This device is the base class which all devices senstive to an address range inherit from.
Abstract class for elements whose events depend on the counting speed of the System Counter.
This module implements the global system counter and the local per-CPU architected timers as specifie...
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
const Params & params() const
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint64_t Tick
Tick count type.