All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Auger <eric.auger@redhat.com>
To: eric.auger@redhat.com, eric.auger.pro@gmail.com,
	marc.zyngier@arm.com, christoffer.dall@linaro.org,
	andre.przywara@arm.com
Cc: pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org
Subject: [RFC v8 3/7] KVM: irqchip: Convey devid to kvm_set_msi
Date: Fri, 22 Jul 2016 13:46:36 +0000	[thread overview]
Message-ID: <1469195200-6498-4-git-send-email-eric.auger@redhat.com> (raw)
In-Reply-To: <1469195200-6498-1-git-send-email-eric.auger@redhat.com>

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>

---
v7 -> v8:
- adapt to changes in kvm_kernel_irq_routing_entry struct

v6 -> v7:
- use renamed msi_flags and msi_devid
- added Andre's R-b

v4 -> v5:
- Add Christoffer's R-b

v2 -> v3:
- do not set the type to KVM_IRQ_ROUTING_EXTENDED_MSI anymore as
  suggested by Andre
- correct msi->flags check
- propagate the flags
---
 virt/kvm/irqchip.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c
index 8db197b..0c00054 100644
--- a/virt/kvm/irqchip.c
+++ b/virt/kvm/irqchip.c
@@ -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);
 }
-- 
1.9.1

  parent reply	other threads:[~2016-07-22 13:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-22 13:46 [RFC v8 0/7] KVM: arm/arm64: gsi routing support Eric Auger
2016-07-22 13:46 ` [RFC v8 1/7] KVM: api: Pass the devid in the msi routing entry Eric Auger
2016-07-22 13:46 ` [RFC v8 2/7] KVM: Add devid in kvm_kernel_irq_routing_entry Eric Auger
2016-07-22 13:46 ` Eric Auger [this message]
2016-07-22 13:46 ` [RFC v8 4/7] KVM: Move kvm_setup_default/empty_irq_routing declaration in arch specific header Eric Auger
2016-07-22 13:46 ` [RFC v8 5/7] KVM: arm/arm64: Enable irqchip routing Eric Auger
2016-07-22 14:24   ` Radim Krčmář
2016-07-22 14:45     ` Auger Eric
2016-07-22 13:46 ` [RFC v8 6/7] KVM: arm/arm64: Enable MSI routing Eric Auger
2016-07-22 14:14   ` Radim Krčmář
2016-07-22 14:46     ` Auger Eric
2016-07-22 13:46 ` [RFC v8 7/7] KVM: arm: Enable KVM_SIGNAL_MSI and " Eric Auger

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=1469195200-6498-4-git-send-email-eric.auger@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=andre.przywara@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=eric.auger.pro@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=marc.zyngier@arm.com \
    --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: link
Be 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.