summaryrefslogtreecommitdiff
path: root/src/dev/x86/cmos.cc
diff options
context:
space:
mode:
authorJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
committerJoel Hestness <hestness@cs.utexas.edu>2011-02-06 22:14:18 -0800
commit62e05ed78a0f24982e4066adb45dc220c9e200ea (patch)
tree078e21ca8e2743ca0918837a8128c9170700e05e /src/dev/x86/cmos.cc
parent911ccef6c05fff4832245414baa7b2a67955c35a (diff)
downloadgem5-62e05ed78a0f24982e4066adb45dc220c9e200ea.tar.xz
x86: Add checkpointing capability to devices
Add checkpointing capability to the Intel 8254 timer, CMOS, I8042, PS2 Keyboard and Mouse, I82094AA, I8237, I8254, I8259, and speaker devices
Diffstat (limited to 'src/dev/x86/cmos.cc')
-rw-r--r--src/dev/x86/cmos.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/dev/x86/cmos.cc b/src/dev/x86/cmos.cc
index 122b531ca..aa92521dc 100644
--- a/src/dev/x86/cmos.cc
+++ b/src/dev/x86/cmos.cc
@@ -111,6 +111,26 @@ X86ISA::Cmos::writeRegister(uint8_t reg, uint8_t val)
}
}
+void
+X86ISA::Cmos::serialize(std::ostream &os)
+{
+ SERIALIZE_SCALAR(address);
+ SERIALIZE_ARRAY(regs, numRegs);
+
+ // Serialize the timer
+ rtc.serialize("rtc", os);
+}
+
+void
+X86ISA::Cmos::unserialize(Checkpoint *cp, const std::string &section)
+{
+ UNSERIALIZE_SCALAR(address);
+ UNSERIALIZE_ARRAY(regs, numRegs);
+
+ // Serialize the timer
+ rtc.unserialize("rtc", cp, section);
+}
+
X86ISA::Cmos *
CmosParams::create()
{