summaryrefslogtreecommitdiff
path: root/dev/tsunami_io.hh
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2004-01-22 19:02:07 -0500
committerAli Saidi <saidi@eecs.umich.edu>2004-01-22 19:02:07 -0500
commitf9f4a7498611082079ae4acd2d421a857cab30d8 (patch)
treec6e4ba0168a2f2bc8223e6715d88637f71b1c41e /dev/tsunami_io.hh
parentd9e8ecbf46ead49c2c8174c1362a5cb136b4b5f9 (diff)
downloadgem5-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.hh26
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);