summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/x86.c
diff options
context:
space:
mode:
authorYang Zhang2013-04-11 13:25:14 +0200
committerMarcelo Tosatti2013-04-16 21:32:40 +0200
commitcf9e65b773394c5ad8fa7455c43268bc8ec2109f (patch)
treedea4e116da3ecc13c8b6383ec2145a73480d66f0 /arch/x86/kvm/x86.c
parentKVM: Call common update function when ioapic entry changed. (diff)
downloadkernel-qcow2-linux-cf9e65b773394c5ad8fa7455c43268bc8ec2109f.tar.gz
kernel-qcow2-linux-cf9e65b773394c5ad8fa7455c43268bc8ec2109f.tar.xz
kernel-qcow2-linux-cf9e65b773394c5ad8fa7455c43268bc8ec2109f.zip
KVM: Set TMR when programming ioapic entry
We already know the trigger mode of a given interrupt when programming the ioapice entry. So it's not necessary to set it in each interrupt delivery. Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Reviewed-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kvm/x86.c')
-rw-r--r--arch/x86/kvm/x86.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 87a05df3eae4..276b4a9a5605 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -5664,14 +5664,17 @@ static void kvm_gen_update_masterclock(struct kvm *kvm)
static void vcpu_scan_ioapic(struct kvm_vcpu *vcpu)
{
u64 eoi_exit_bitmap[4];
+ u32 tmr[8];
if (!kvm_apic_hw_enabled(vcpu->arch.apic))
return;
memset(eoi_exit_bitmap, 0, 32);
+ memset(tmr, 0, 32);
- kvm_ioapic_scan_entry(vcpu, eoi_exit_bitmap);
+ kvm_ioapic_scan_entry(vcpu, eoi_exit_bitmap, tmr);
kvm_x86_ops->load_eoi_exitmap(vcpu, eoi_exit_bitmap);
+ kvm_apic_update_tmr(vcpu, tmr);
}
static int vcpu_enter_guest(struct kvm_vcpu *vcpu)