KVM: x86: store IOAPIC-handled vectors in each VCPU
[firefly-linux-kernel-4.4.55.git] / arch / x86 / kvm / x86.c
index 92511d4b72364a978db0b38628b9449907ee1832..c4adb8847b23515f00a939e9803c7a66ec76257b 100644 (file)
@@ -6143,18 +6143,13 @@ static void process_smi(struct kvm_vcpu *vcpu)
 
 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);
+       memset(vcpu->arch.eoi_exit_bitmap, 0, 256 / 8);
 
-       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);
+       kvm_ioapic_scan_entry(vcpu, vcpu->arch.eoi_exit_bitmap);
+       kvm_x86_ops->load_eoi_exitmap(vcpu);
 }
 
 static void kvm_vcpu_flush_tlb(struct kvm_vcpu *vcpu)