Reinstate MSR tracing, add RDTSC tracing _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
George Dunlap
2010-Jul-08 16:33 UTC
[Xen-devel] [PATCH 1 of 2] trace: Reinstate tracing for emualted MSR reads and writes
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
diff -r 9d965ac1b0db -r be013c2c88d7 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c Mon Jul 05 08:40:26 2010 +0100
+++ b/xen/arch/x86/hvm/hvm.c Thu Jul 08 17:32:51 2010 +0100
@@ -2103,6 +2103,8 @@
}
}
+ HVMTRACE_3D(MSR_READ, (uint32_t)*msr_content, (uint32_t)(*msr_content
>> 32), msr);
+
return X86EMUL_OKAY;
gp_fault:
@@ -2117,6 +2119,8 @@
uint32_t cpuid[4];
int ret;
+ HVMTRACE_3D(MSR_WRITE, (uint32_t)msr_content, (uint32_t)(msr_content
>> 32), msr);
+
hvm_cpuid(1, &cpuid[0], &cpuid[1], &cpuid[2], &cpuid[3]);
mtrr = !!(cpuid[3] & bitmaskof(X86_FEATURE_MTRR));
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
George Dunlap
2010-Jul-08 16:33 UTC
[Xen-devel] [PATCH 2 of 2] trace: Trace emulated RDTSC values
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
diff -r be013c2c88d7 -r 747f73b62c51 xen/arch/x86/hvm/hvm.c
--- a/xen/arch/x86/hvm/hvm.c Thu Jul 08 17:32:51 2010 +0100
+++ b/xen/arch/x86/hvm/hvm.c Thu Jul 08 17:32:51 2010 +0100
@@ -2011,6 +2011,8 @@
tsc = hvm_get_guest_tsc(v);
regs->eax = (uint32_t)tsc;
regs->edx = (uint32_t)(tsc >> 32);
+
+ HVMTRACE_2D(RDTSC, regs->eax, regs->edx);
}
int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
diff -r be013c2c88d7 -r 747f73b62c51 xen/include/asm-x86/hvm/trace.h
--- a/xen/include/asm-x86/hvm/trace.h Thu Jul 08 17:32:51 2010 +0100
+++ b/xen/include/asm-x86/hvm/trace.h Thu Jul 08 17:32:51 2010 +0100
@@ -35,6 +35,7 @@
#define DO_TRC_HVM_DR_WRITE DEFAULT_HVM_REGACCESS
#define DO_TRC_HVM_MSR_READ DEFAULT_HVM_REGACCESS
#define DO_TRC_HVM_MSR_WRITE DEFAULT_HVM_REGACCESS
+#define DO_TRC_HVM_RDTSC DEFAULT_HVM_REGACCESS
#define DO_TRC_HVM_CPUID DEFAULT_HVM_MISC
#define DO_TRC_HVM_INTR DEFAULT_HVM_INTR
#define DO_TRC_HVM_NMI DEFAULT_HVM_INTR
diff -r be013c2c88d7 -r 747f73b62c51 xen/include/public/trace.h
--- a/xen/include/public/trace.h Thu Jul 08 17:32:51 2010 +0100
+++ b/xen/include/public/trace.h Thu Jul 08 17:32:51 2010 +0100
@@ -156,6 +156,7 @@
#define TRC_HVM_CLTS (TRC_HVM_HANDLER + 0x18)
#define TRC_HVM_LMSW (TRC_HVM_HANDLER + 0x19)
#define TRC_HVM_LMSW64 (TRC_HVM_HANDLER + TRC_64_FLAG + 0x19)
+#define TRC_HVM_RDTSC (TRC_HVM_HANDLER + 0x1a)
#define TRC_HVM_INTR_WINDOW (TRC_HVM_HANDLER + 0x20)
#define TRC_HVM_NPF (TRC_HVM_HANDLER + 0x21)
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel