added the 8254 programmable interval timer

--HG--
extra : convert_revision : 6a111db98c05a3dd692c757611c3eb9c8cfdd32f
diff --git a/dev/tsunami_io.hh b/dev/tsunami_io.hh
index 943df77..1336a70 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);