diff mbox

[1/4] KVM: x86: use delivery to self in hyperv synic

Message ID 20161202194401.10038-2-rkrcmar@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Radim Krčmář Dec. 2, 2016, 7:43 p.m. UTC
Interrupt to self can sent without knowing the APIC ID.

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
---
 arch/x86/kvm/hyperv.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

David Hildenbrand Dec. 5, 2016, 2:41 p.m. UTC | #1
Am 02.12.2016 um 20:43 schrieb Radim Krčmář:
> Interrupt to self can sent without knowing the APIC ID.

can _be_ sent?

Looks sane to me.

Reviewed-by: David Hildenbrand <david@redhat.com>
Radim Krčmář Dec. 5, 2016, 4:03 p.m. UTC | #2
2016-12-05 15:41+0100, David Hildenbrand:
> Am 02.12.2016 um 20:43 schrieb Radim Krčmář:
>> Interrupt to self can sent without knowing the APIC ID.
> 
> can _be_ sent?

Yes, thanks, I'll fix it in v2 or when applying your r-b.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 99cde5220e07..313957ec9a9d 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;
 }