Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f98a3efb authored by Radim Krčmář's avatar Radim Krčmář
Browse files

KVM: x86: use delivery to self in hyperv synic



Interrupt to self can be sent without knowing the APIC ID.

Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 63dbe14d
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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;
}
}