aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/hyperv.c
diff options
context:
space:
mode:
authorRadim Krčmář <rkrcmar@redhat.com>2016-12-15 18:06:45 +0100
committerRadim Krčmář <rkrcmar@redhat.com>2017-01-09 14:46:13 +0100
commitf98a3efb284a7950745d6c95be489193e6d4c657 (patch)
treef8ee4928fefe9bde8d7d2c64159125ad9d71a764 /arch/x86/kvm/hyperv.c
parentkvm: x86: mmu: Update documentation for fast page fault mechanism (diff)
downloadlinux-dev-f98a3efb284a7950745d6c95be489193e6d4c657.tar.xz
linux-dev-f98a3efb284a7950745d6c95be489193e6d4c657.zip
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>
Diffstat (limited to 'arch/x86/kvm/hyperv.c')
-rw-r--r--arch/x86/kvm/hyperv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 1572c35b4f1a..08b27e0c7b71 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -305,13 +305,13 @@ static int synic_set_irq(struct kvm_vcpu_hv_synic *synic, u32 sint)
return -ENOENT;
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.delivery_mode = APIC_DM_FIXED;
irq.vector = vector;
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);
return ret;
}