33 #include "debug/I8254.hh"
55 pkt->
set(pit.readCounter(offset));
56 }
else if (offset == 3) {
57 pkt->
set(uint8_t(-1));
59 panic(
"Read from undefined i8254 register.\n");
71 pit.writeCounter(offset, pkt->
get<uint8_t>());
72 }
else if (offset == 3) {
73 pit.writeControl(pkt->
get<uint8_t>());
75 panic(
"Write to undefined i8254 register.\n");
84 pit.serialize(
"pit", cp);
90 pit.unserialize(
"pit", cp);
100 I8254Params::create()
void set(T v, ByteOrder endian)
Set the value in the data pointer to v using the specified endianness.
void counterInterrupt(unsigned int num)
void startup() override
startup() is the final initialization call before simulation.
T get(ByteOrder endian) const
Get the data in the packet byte swapped from the specified endianness.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void makeAtomicResponse()
uint64_t Tick
Tick count type.
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...
Declaration of the Packet class.
std::ostream CheckpointOut
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
void serialize(CheckpointOut &cp) const override
Serialize an object.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.