Go to the documentation of this file.
29 #ifndef __DEV_X86_CMOS_HH__
30 #define __DEV_X86_CMOS_HH__
35 #include "params/Cmos.hh"
63 for (
int i = 0;
i < int_pin_count;
i++) {
76 rtc(this,
name() +
".rtc",
p->time, true,
ULL(5000000000),
77 p->port_int_pin_connection_count)
86 if (if_name ==
"int_pin")
104 #endif //__DEV_X86_CMOS_HH__
const PortID InvalidPortID
uint8_t readRegister(uint8_t reg)
uint64_t Tick
Tick count type.
void writeRegister(uint8_t reg, uint8_t val)
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
Tick read(PacketPtr pkt) override
Pure virtual function that the device must implement.
Ports are used to interface objects to each other.
void startup() override
startup() is the final initialization call before simulation.
Real-Time Clock (MC146818)
This is exposed globally, independent of the ISA.
uint64_t frequency() const
Tick write(PacketPtr pkt) override
Pure virtual function that the device must implement.
virtual const std::string name() const
void serialize(CheckpointOut &cp) const override
Serialize an object.
X86RTC(EventManager *em, const std::string &n, const struct tm time, bool bcd, Tick frequency, int int_pin_count)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
std::ostream CheckpointOut
std::vector< IntSourcePin< X86RTC > * > intPin
std::string csprintf(const char *format, const Args &...args)
#define ULL(N)
uint64_t constant
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17