mirror of
https://github.com/torvalds/linux
synced 2024-10-05 02:44:13 +00:00
KVM: x86: use delivery to self in hyperv synic
Interrupt to self can be sent without knowing the APIC ID. Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
63dbe14d39
commit
f98a3efb28
|
@ -305,13 +305,13 @@ static int synic_set_irq(struct kvm_vcpu_hv_synic *synic, u32 sint)
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
|
|
||||||
memset(&irq, 0, sizeof(irq));
|
memset(&irq, 0, sizeof(irq));
|
||||||
irq.dest_id = kvm_apic_id(vcpu->arch.apic);
|
irq.shorthand = APIC_DEST_SELF;
|
||||||
irq.dest_mode = APIC_DEST_PHYSICAL;
|
irq.dest_mode = APIC_DEST_PHYSICAL;
|
||||||
irq.delivery_mode = APIC_DM_FIXED;
|
irq.delivery_mode = APIC_DM_FIXED;
|
||||||
irq.vector = vector;
|
irq.vector = vector;
|
||||||
irq.level = 1;
|
irq.level = 1;
|
||||||
|
|
||||||
ret = kvm_irq_delivery_to_apic(vcpu->kvm, NULL, &irq, NULL);
|
ret = kvm_irq_delivery_to_apic(vcpu->kvm, vcpu->arch.apic, &irq, NULL);
|
||||||
trace_kvm_hv_synic_set_irq(vcpu->vcpu_id, sint, irq.vector, ret);
|
trace_kvm_hv_synic_set_irq(vcpu->vcpu_id, sint, irq.vector, ret);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue