Merge with main repository.
[gem5.git] / src / dev / x86 / i8042.hh
index 8a941f9a5eb91c33c107c921f255ac67d9badfa6..61220b45d703852a17062a80bba56a5b4bd7fe96 100644 (file)
 #ifndef __DEV_X86_I8042_HH__
 #define __DEV_X86_I8042_HH__
 
-#include "dev/io_device.hh"
+#include <queue>
+
 #include "dev/x86/intdev.hh"
+#include "dev/io_device.hh"
 #include "params/I8042.hh"
 
-#include <queue>
-
 namespace X86ISA
 {
 
@@ -116,6 +116,10 @@ class PS2Mouse : public PS2Device
     {}
 
     bool processData(uint8_t data);
+
+    void serialize(const std::string &base, std::ostream &os);
+    void unserialize(const std::string &base, Checkpoint *cp,
+            const std::string &section);
 };
 
 class PS2Keyboard : public PS2Device
@@ -146,6 +150,10 @@ class PS2Keyboard : public PS2Device
 
   public:
     bool processData(uint8_t data);
+
+    void serialize(const std::string &base, std::ostream &os);
+    void unserialize(const std::string &base, Checkpoint *cp,
+            const std::string &section);
 };
 
 class I8042 : public BasicPioDevice
@@ -247,13 +255,16 @@ class I8042 : public BasicPioDevice
         commandByte.keyboardFullInt = 1;
     }
 
-    void addressRanges(AddrRangeList &range_list);
+    AddrRangeList getAddrRanges();
 
     Tick read(PacketPtr pkt);
 
     Tick write(PacketPtr pkt);
+
+    virtual void serialize(std::ostream &os);
+    virtual void unserialize(Checkpoint *cp, const std::string &section);
 };
 
-}; // namespace X86ISA
+} // namespace X86ISA
 
 #endif //__DEV_X86_I8042_HH__