Loading arch/x86/kvm/ioapic.h +7 −0 Original line number Diff line number Diff line Loading @@ -41,7 +41,14 @@ struct kvm_vcpu; #endif struct dest_map { /* vcpu bitmap where IRQ has been sent */ DECLARE_BITMAP(map, KVM_MAX_VCPUS); /* * Vector sent to a given vcpu, only valid when * the vcpu's bit in map is set */ u8 vectors[KVM_MAX_VCPUS]; }; Loading arch/x86/kvm/lapic.c +3 −1 Original line number Diff line number Diff line Loading @@ -914,8 +914,10 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, result = 1; if (dest_map) if (dest_map) { __set_bit(vcpu->vcpu_id, dest_map->map); dest_map->vectors[vcpu->vcpu_id] = vector; } if (apic_test_vector(vector, apic->regs + APIC_TMR) != !!trig_mode) { if (trig_mode) Loading Loading
arch/x86/kvm/ioapic.h +7 −0 Original line number Diff line number Diff line Loading @@ -41,7 +41,14 @@ struct kvm_vcpu; #endif struct dest_map { /* vcpu bitmap where IRQ has been sent */ DECLARE_BITMAP(map, KVM_MAX_VCPUS); /* * Vector sent to a given vcpu, only valid when * the vcpu's bit in map is set */ u8 vectors[KVM_MAX_VCPUS]; }; Loading
arch/x86/kvm/lapic.c +3 −1 Original line number Diff line number Diff line Loading @@ -914,8 +914,10 @@ static int __apic_accept_irq(struct kvm_lapic *apic, int delivery_mode, result = 1; if (dest_map) if (dest_map) { __set_bit(vcpu->vcpu_id, dest_map->map); dest_map->vectors[vcpu->vcpu_id] = vector; } if (apic_test_vector(vector, apic->regs + APIC_TMR) != !!trig_mode) { if (trig_mode) Loading