Go to the documentation of this file.
29 #ifndef __DEV_8254_HH__
30 #define __DEV_8254_HH__
38 #include "debug/Intel8254Timer.hh"
98 void setTo(
int clocks);
156 void setRW(
int rw_val);
259 #endif // __DEV_8254_HH__
Counter * counter[3]
PIT has three seperate counters.
void unserialize(const std::string &base, CheckpointIn &cp)
Reconstruct the state of this object from a checkpoint.
uint8_t readCounter(unsigned int num)
uint8_t read()
Read a count byte.
virtual ~Intel8254Timer()
int currentCount()
Get the current count for this counter.
Intel8254Timer(EventManager *em, const std::string &name, Counter *counter0, Counter *counter1, Counter *counter2)
uint16_t period
Interrupt period.
Event for counter interrupt.
void serialize(const std::string &base, CheckpointOut &cp) const
Serialize this object to the given output stream.
bool latch_on
State of the count latch.
void setBCD(int bcd_val)
Set count encoding.
void writeCounter(unsigned int num, const uint8_t data)
void startup()
Start ticking.
void latchCount()
Latch the current count (if one is not already latched)
void setRW(int rw_val)
Set the read/write mode.
uint64_t Tick
Tick count type.
void writeControl(const CtrlReg data)
Write control word.
Intel8254Timer * parent
Pointer to container.
uint8_t read_byte
Determine which byte of a 16-bit count value to read/write.
bool outputHigh(unsigned int num)
EndBitUnion(CtrlReg) enum SelectVal
void process()
Event process.
const std::string & name() const
void setMode(int mode_val)
Set operational mode.
int64_t Counter
Statistics counter type.
bool output_high
Output goes high when the counter reaches zero.
void unserialize(const std::string &base, CheckpointIn &cp)
Reconstruct the state of this object from a checkpoint.
void startup()
Start ticking.
BitUnion8(CtrlReg) Bitfield< 7
Tick offset
When to start ticking.
Programmable Interval Timer (Intel 8254)
Counter * counter
Pointer back to Counter.
uint8_t mode
Current mode of operation.
Counter(Intel8254Timer *p, const std::string &name, unsigned int num)
void write(const uint8_t data)
Write a count byte.
virtual const char * description() const
Event description.
virtual void counterInterrupt(unsigned int num)
const std::string & name() const
bool running
True after startup is called.
bool outputHigh()
Is the output high?
uint16_t latched_count
Latched count.
void serialize(const std::string &base, CheckpointOut &cp) const
Serialize this object to the given output stream.
std::ostream CheckpointOut
uint16_t initial_count
Initial count value.
Generated on Wed Sep 30 2020 14:02:11 for gem5 by doxygen 1.8.17