> -----Original Message----- > From: kvm-owner@xxxxxxxxxxxxxxx [mailto:kvm-owner@xxxxxxxxxxxxxxx] On Behalf Of Eric Auger > Sent: Thursday, July 09, 2015 11:22 AM > To: eric.auger@xxxxxx; eric.auger@xxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > marc.zyngier@xxxxxxx; christoffer.dall@xxxxxxxxxx; kvmarm@xxxxxxxxxxxxxxxxxxxxx; > kvm@xxxxxxxxxxxxxxx > Cc: patches@xxxxxxxxxx; andre.przywara@xxxxxxx; p.fedin@xxxxxxxxxxx; pbonzini@xxxxxxxxxx > Subject: [PATCH v2 3/7] 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 populate the corresponding > kvm_kernel_irq_routing_entry devid field and set the msi type to > KVM_IRQ_ROUTING_EXTENDED_MSI. > > Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> > --- > virt/kvm/irqchip.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c > index 21c1424..e678f8a 100644 > --- a/virt/kvm/irqchip.c > +++ b/virt/kvm/irqchip.c > @@ -72,9 +72,17 @@ 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)) > return -EINVAL; > > + if (msi->flags & KVM_MSI_VALID_DEVID) { > + route.devid = msi->devid; > + route.type = KVM_IRQ_ROUTING_EXTENDED_MSI; > + } else if (!msi->flags) > + return -EINVAL; Did you mean "if (msg->flags)" here (inverted condition)? > + > + /* historically the route.type was not set */ > + > route.msi.address_lo = msi->address_lo; > route.msi.address_hi = msi->address_hi; > route.msi.data = msi->data; > -- > 1.9.1 Kind regards, Pavel Fedin Expert Engineer Samsung Electronics Research center Russia -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html