aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-04-30 11:55:59 -0400
committerAvi Kivity <avi@qumranet.com>2008-07-20 05:40:47 -0400
commitc7bf23babc959b186335d2640959a1b8633588de (patch)
tree39516a1fedf1d17504959681617d07ccb921f554
parent8b2cf73cc11cf29a21c51c453a3205f23d888915 (diff)
KVM: VMX: move APIC_ACCESS trace entry to generic code
This patch moves the trace entry for APIC accesses from the VMX code to the generic lapic code. This way APIC accesses from SVM will also be traced. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r--arch/x86/kvm/lapic.c4
-rw-r--r--arch/x86/kvm/vmx.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index ebc03f5ae162..f9201fbc61d1 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -572,6 +572,8 @@ static u32 __apic_read(struct kvm_lapic *apic, unsigned int offset)
572{ 572{
573 u32 val = 0; 573 u32 val = 0;
574 574
575 KVMTRACE_1D(APIC_ACCESS, apic->vcpu, (u32)offset, handler);
576
575 if (offset >= LAPIC_MMIO_LENGTH) 577 if (offset >= LAPIC_MMIO_LENGTH)
576 return 0; 578 return 0;
577 579
@@ -695,6 +697,8 @@ static void apic_mmio_write(struct kvm_io_device *this,
695 697
696 offset &= 0xff0; 698 offset &= 0xff0;
697 699
700 KVMTRACE_1D(APIC_ACCESS, apic->vcpu, (u32)offset, handler);
701
698 switch (offset) { 702 switch (offset) {
699 case APIC_ID: /* Local APIC ID */ 703 case APIC_ID: /* Local APIC ID */
700 apic_set_reg(apic, APIC_ID, val); 704 apic_set_reg(apic, APIC_ID, val);
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index 397393059800..8c951d3eab30 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@ -2554,8 +2554,6 @@ static int handle_apic_access(struct kvm_vcpu *vcpu, struct kvm_run *kvm_run)
2554 exit_qualification = vmcs_read64(EXIT_QUALIFICATION); 2554 exit_qualification = vmcs_read64(EXIT_QUALIFICATION);
2555 offset = exit_qualification & 0xffful; 2555 offset = exit_qualification & 0xffful;
2556 2556
2557 KVMTRACE_1D(APIC_ACCESS, vcpu, (u32)offset, handler);
2558
2559 er = emulate_instruction(vcpu, kvm_run, 0, 0, 0); 2557 er = emulate_instruction(vcpu, kvm_run, 0, 0, 0);
2560 2558
2561 if (er != EMULATE_DONE) { 2559 if (er != EMULATE_DONE) {