Go to the documentation of this file.
46 #ifndef __DEV_ARM_PL050_HH__
47 #define __DEV_ARM_PL050_HH__
53 #include "params/Pl050.hh"
67 Bitfield<0> force_clock_low;
105 InterruptReg rawInterrupts;
129 Pl050(
const Pl050Params *
p);
138 #endif // __DEV_ARM_PL050_HH__
void serialize(CheckpointOut &cp) const override
Serialize an object.
static const int kmiClkDiv
uint64_t Tick
Tick count type.
void updateIntCtrl(InterruptReg ints, ControlReg ctrl)
Update the status of the interrupt and control registers and deliver an interrupt if required.
void setInterrupts(InterruptReg ints)
void setTxInt(bool value)
Set or clear the TX interrupt.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
PS2Device * ps2
PS2 device connected to this KMI interface.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void setControl(ControlReg ctrl)
Pl050(const Pl050Params *p)
Bitfield< 4 > rxint_enable
EndBitUnion(ControlReg) ControlReg control
control register
Bitfield< 1 > force_data_low
BitUnion8(ControlReg) Bitfield< 0 > force_clock_low
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
std::ostream CheckpointOut
uint8_t clkdiv
clock divisor register This register is just kept around to satisfy reads after driver does writes.
InterruptReg getInterrupt() const
Get current interrupt value.
Bitfield< 3 > txint_enable
void updateRxInt()
Update the RX interrupt using PS/2 device state.
Generated on Wed Sep 30 2020 14:02:10 for gem5 by doxygen 1.8.17