38 #ifndef __DEV_ARM_SP804_HH__ 39 #define __DEV_ARM_SP804_HH__ 42 #include "params/Sp804.hh" 112 Timer(std::string __name,
Sp804 *parent,
int int_num,
Tick clock);
114 std::string
name()
const {
return _name; }
138 return dynamic_cast<const Params *
>(
_params);
166 #endif // __DEV_ARM_SP804_HH__ void counterAtZero()
Called when the counter reaches 0.
void read(PacketPtr pkt, Addr daddr)
Handle read for a single timer.
EndBitUnion(UserDescFlags) struct UserDesc32
EndBitUnion(CTRL) protected Sp804 * parent
Pointer to parent class.
Bitfield< 7 > timerEnable
void restartCounter(uint32_t val)
Restart the counter ticking at val.
CTRL control
Control register as specified above.
BitUnion32(CTRL) Bitfield< 0 > oneShot
Timer timer0
Timers that do the actual work.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
const Params * params() const
Sp804(Params *p)
The constructor for RealView just registers itself with the MMU.
This is a base class for AMBA devices that have to respond to Device and Implementer ID calls...
uint64_t Tick
Tick count type.
bool pendingInt
If an interrupt is currently pending.
uint32_t loadValue
Value to load into counter when periodic mode reaches 0.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
Basic support for object serialization.
EventFunctionWrapper zeroEvent
bool rawInt
If timer has caused an interrupt.
std::ostream CheckpointOut
Bitfield< 3, 2 > timerPrescale
const SimObjectParams * _params
Cached copy of the object parameters.
const Tick clock
Number of ticks in a clock input.
void write(PacketPtr pkt, Addr daddr)
Handle write for a single timer.
Timer(std::string __name, Sp804 *parent, int int_num, Tick clock)
BaseGic * gic
Pointer to the GIC for causing an interrupt.
const uint32_t intNum
Number of interrupt to cause/clear.
void serialize(CheckpointOut &cp) const override
Serialize an object.