mirror of https://gitee.com/openkylin/linux.git
KVM: irqchip: Convey devid to kvm_set_msi
on ARM, a devid field is populated in kvm_msi struct in case the flag is set to KVM_MSI_VALID_DEVID. Let's propagate both flags and devid field in kvm_kernel_irq_routing_entry. Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Christoffer Dall <christoffer.dall@linaro.org> Acked-by: Radim Krčmář <rkrcmar@redhat.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
This commit is contained in:
parent
0455e72c9a
commit
ebe915259c
|
@ -62,12 +62,14 @@ int kvm_send_userspace_msi(struct kvm *kvm, struct kvm_msi *msi)
|
|||
{
|
||||
struct kvm_kernel_irq_routing_entry route;
|
||||
|
||||
if (!irqchip_in_kernel(kvm) || msi->flags != 0)
|
||||
if (!irqchip_in_kernel(kvm) || (msi->flags & ~KVM_MSI_VALID_DEVID))
|
||||
return -EINVAL;
|
||||
|
||||
route.msi.address_lo = msi->address_lo;
|
||||
route.msi.address_hi = msi->address_hi;
|
||||
route.msi.data = msi->data;
|
||||
route.msi.flags = msi->flags;
|
||||
route.msi.devid = msi->devid;
|
||||
|
||||
return kvm_set_msi(&route, kvm, KVM_USERSPACE_IRQ_SOURCE_ID, 1, false);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue