From: Pavel Fedin <p.fedin@samsung.com> To: 'Eric Auger' <eric.auger@linaro.org>, eric.auger@st.com, linux-arm-kernel@lists.infradead.org, marc.zyngier@arm.com, christoffer.dall@linaro.org, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org Cc: andre.przywara@arm.com, pbonzini@redhat.com, patches@linaro.org Subject: RE: [PATCH v2 3/7] KVM: irqchip: convey devid to kvm_set_msi Date: Fri, 17 Jul 2015 10:27:26 +0300 [thread overview] Message-ID: <01d401d0c062$086c2ee0$19448ca0$@samsung.com> (raw) In-Reply-To: <1436430137-24205-4-git-send-email-eric.auger@linaro.org> > -----Original Message----- > From: kvm-owner@vger.kernel.org [mailto:kvm-owner@vger.kernel.org] On Behalf Of Eric Auger > Sent: Thursday, July 09, 2015 11:22 AM > To: eric.auger@st.com; eric.auger@linaro.org; linux-arm-kernel@lists.infradead.org; > marc.zyngier@arm.com; christoffer.dall@linaro.org; kvmarm@lists.cs.columbia.edu; > kvm@vger.kernel.org > Cc: patches@linaro.org; andre.przywara@arm.com; p.fedin@samsung.com; pbonzini@redhat.com > 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@linaro.org> > --- > 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
WARNING: multiple messages have this Message-ID (diff)
From: p.fedin@samsung.com (Pavel Fedin) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v2 3/7] KVM: irqchip: convey devid to kvm_set_msi Date: Fri, 17 Jul 2015 10:27:26 +0300 [thread overview] Message-ID: <01d401d0c062$086c2ee0$19448ca0$@samsung.com> (raw) In-Reply-To: <1436430137-24205-4-git-send-email-eric.auger@linaro.org> > -----Original Message----- > From: kvm-owner at vger.kernel.org [mailto:kvm-owner at vger.kernel.org] On Behalf Of Eric Auger > Sent: Thursday, July 09, 2015 11:22 AM > To: eric.auger at st.com; eric.auger at linaro.org; linux-arm-kernel at lists.infradead.org; > marc.zyngier at arm.com; christoffer.dall at linaro.org; kvmarm at lists.cs.columbia.edu; > kvm at vger.kernel.org > Cc: patches at linaro.org; andre.przywara at arm.com; p.fedin at samsung.com; pbonzini at redhat.com > 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@linaro.org> > --- > 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
next prev parent reply other threads:[~2015-07-17 7:27 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-07-09 8:22 [PATCH v2 0/7] KVM: arm/arm64: gsi routing support Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-09 8:22 ` [PATCH v2 1/7] KVM: api: introduce KVM_IRQ_ROUTING_EXTENDED_MSI Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-10 22:42 ` Andre Przywara 2015-07-10 22:42 ` Andre Przywara 2015-07-13 9:25 ` Eric Auger 2015-07-13 9:25 ` Eric Auger 2015-07-09 8:22 ` [PATCH v2 2/7] KVM: kvm_host: add devid in kvm_kernel_irq_routing_entry Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-09 8:22 ` [PATCH v2 3/7] KVM: irqchip: convey devid to kvm_set_msi Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-10 23:15 ` Andre Przywara 2015-07-10 23:15 ` Andre Przywara 2015-07-17 7:27 ` Pavel Fedin [this message] 2015-07-17 7:27 ` Pavel Fedin 2015-07-17 10:09 ` Paolo Bonzini 2015-07-17 10:09 ` Paolo Bonzini 2015-07-17 10:21 ` Pavel Fedin 2015-07-17 10:21 ` Pavel Fedin 2015-07-18 18:39 ` Eric Auger 2015-07-18 18:39 ` Eric Auger 2015-07-09 8:22 ` [PATCH v2 4/7] KVM: arm/arm64: enable irqchip routing Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-10 23:15 ` Andre Przywara 2015-07-10 23:15 ` Andre Przywara 2015-07-13 9:58 ` Eric Auger 2015-07-13 9:58 ` Eric Auger 2015-07-15 7:29 ` Pavel Fedin 2015-07-15 7:29 ` Pavel Fedin 2015-07-09 8:22 ` [PATCH v2 5/7] KVM: arm/arm64: build a default routing table Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-09 8:22 ` [PATCH v2 6/7] KVM: arm/arm64: enable MSI routing Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-10 23:16 ` Andre Przywara 2015-07-10 23:16 ` Andre Przywara 2015-07-09 8:22 ` [PATCH v2 7/7] KVM: arm: implement kvm_set_msi by gsi direct mapping Eric Auger 2015-07-09 8:22 ` Eric Auger 2015-07-10 23:17 ` Andre Przywara 2015-07-10 23:17 ` Andre Przywara 2015-07-31 12:59 ` Eric Auger 2015-07-31 12:59 ` Eric Auger 2015-08-02 20:23 ` Andre Przywara 2015-08-02 20:23 ` Andre Przywara 2015-08-03 9:11 ` Eric Auger 2015-08-03 9:11 ` Eric Auger 2015-07-09 14:37 ` [PATCH v2 0/7] KVM: arm/arm64: gsi routing support Pavel Fedin 2015-07-09 14:37 ` Pavel Fedin 2015-07-09 15:25 ` Andre Przywara 2015-07-09 15:25 ` Andre Przywara 2015-07-09 15:52 ` Pavel Fedin 2015-07-09 15:52 ` Pavel Fedin 2015-07-09 17:11 ` Eric Auger 2015-07-09 17:11 ` Eric Auger 2015-07-09 18:08 ` Pavel Fedin 2015-07-09 18:08 ` Pavel Fedin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='01d401d0c062$086c2ee0$19448ca0$@samsung.com' \ --to=p.fedin@samsung.com \ --cc=andre.przywara@arm.com \ --cc=christoffer.dall@linaro.org \ --cc=eric.auger@linaro.org \ --cc=eric.auger@st.com \ --cc=kvm@vger.kernel.org \ --cc=kvmarm@lists.cs.columbia.edu \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=marc.zyngier@arm.com \ --cc=patches@linaro.org \ --cc=pbonzini@redhat.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.