kvm: Add checkpoint debug print
authorAndreas Sandberg <andreas@sandberg.pp.se>
Thu, 2 May 2013 10:02:19 +0000 (12:02 +0200)
committerAndreas Sandberg <andreas@sandberg.pp.se>
Thu, 2 May 2013 10:02:19 +0000 (12:02 +0200)
Add a debug print (when the Checkpoint debug flag is set) on serialize
and unserialize. Additionally, dump the KVM state before
serializing. The KVM state isn't dumped after unserializing since the
state is loaded lazily on the next KVM entry.

src/cpu/kvm/base.cc

index 59553b42cacd2b9b597c22c112d3b4bdf1145d8d..510d6ae251261aef68f8eed499c8f0291e4aac38 100644 (file)
@@ -48,6 +48,7 @@
 
 #include "arch/utility.hh"
 #include "cpu/kvm/base.hh"
+#include "debug/Checkpoint.hh"
 #include "debug/Kvm.hh"
 #include "debug/KvmIO.hh"
 #include "debug/KvmRun.hh"
@@ -213,6 +214,11 @@ BaseKvmCPU::regStats()
 void
 BaseKvmCPU::serializeThread(std::ostream &os, ThreadID tid)
 {
+    if (DTRACE(Checkpoint)) {
+        DPRINTF(Checkpoint, "KVM: Serializing thread %i:\n", tid);
+        dump();
+    }
+
     // Update the thread context so we have something to serialize.
     syncThreadContext();
 
@@ -225,6 +231,8 @@ void
 BaseKvmCPU::unserializeThread(Checkpoint *cp, const std::string &section,
                               ThreadID tid)
 {
+    DPRINTF(Checkpoint, "KVM: Unserialize thread %i:\n", tid);
+
     assert(tid == 0);
     assert(_status == Idle);
     thread->unserialize(cp, section);