diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2008-04-30 11:55:59 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-07-20 05:40:47 -0400 |
commit | c7bf23babc959b186335d2640959a1b8633588de (patch) | |
tree | 39516a1fedf1d17504959681617d07ccb921f554 /arch | |
parent | 8b2cf73cc11cf29a21c51c453a3205f23d888915 (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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kvm/lapic.c | 4 | ||||
-rw-r--r-- | arch/x86/kvm/vmx.c | 2 |
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) { |