From: Andreas Sandberg Date: Thu, 2 May 2013 10:02:19 +0000 (+0200) Subject: kvm: Add checkpoint debug print X-Git-Tag: stable_2013_10_14~121 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa249461caa431b774b558349b32282477ef6153;p=gem5.git kvm: Add checkpoint debug print 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. --- diff --git a/src/cpu/kvm/base.cc b/src/cpu/kvm/base.cc index 59553b42c..510d6ae25 100644 --- a/src/cpu/kvm/base.cc +++ b/src/cpu/kvm/base.cc @@ -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 §ion, ThreadID tid) { + DPRINTF(Checkpoint, "KVM: Unserialize thread %i:\n", tid); + assert(tid == 0); assert(_status == Idle); thread->unserialize(cp, section);