diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-01-22 19:02:07 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-01-22 19:02:07 -0500 |
commit | f9f4a7498611082079ae4acd2d421a857cab30d8 (patch) | |
tree | c6e4ba0168a2f2bc8223e6715d88637f71b1c41e /dev/tsunami_io.hh | |
parent | d9e8ecbf46ead49c2c8174c1362a5cb136b4b5f9 (diff) | |
download | gem5-f9f4a7498611082079ae4acd2d421a857cab30d8.tar.xz |
added the 8254 programmable interval timer
--HG--
extra : convert_revision : 6a111db98c05a3dd692c757611c3eb9c8cfdd32f
Diffstat (limited to 'dev/tsunami_io.hh')
-rw-r--r-- | dev/tsunami_io.hh | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/dev/tsunami_io.hh b/dev/tsunami_io.hh index 943df77c2..1336a703e 100644 --- a/dev/tsunami_io.hh +++ b/dev/tsunami_io.hh @@ -41,15 +41,41 @@ */ class TsunamiIO : public MmapDevice { + public: protected: + class ClockEvent : public Event + { + protected: + Tick interval; + uint8_t mode; + uint8_t status; + + public: + ClockEvent(); + + virtual void process(); + virtual const char *description(); + void Program(int count); + void ChangeMode(uint8_t mode); + uint8_t Status(); + + }; + + uint8_t mask1; uint8_t mask2; uint8_t mode1; uint8_t mode2; + ClockEvent timer0; + ClockEvent timer1; + ClockEvent timer2; + + uint32_t timerData; + public: TsunamiIO(const std::string &name, /*Tsunami *t,*/ Addr addr, Addr mask, MemoryController *mmu); |