From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Eric Auger <eric.auger@redhat.com>
Cc: eric.auger.pro@gmail.com, marc.zyngier@arm.com,
christoffer.dall@linaro.org, andre.przywara@arm.com,
drjones@redhat.com, kvmarm@lists.cs.columbia.edu,
kvm@vger.kernel.org, pbonzini@redhat.com
Subject: Re: [RFC v8 6/7] KVM: arm/arm64: Enable MSI routing
Date: Fri, 22 Jul 2016 16:14:25 +0200 [thread overview]
Message-ID: <20160722141425.GB9019@potion> (raw)
In-Reply-To: <1469195200-6498-7-git-send-email-eric.auger@redhat.com>
2016-07-22 13:46+0000, Eric Auger:
> Up to now, only irqchip routing entries could be set. This patch
> adds the capability to insert MSI routing entries.
>
> For ARM64, let's also increase KVM_MAX_IRQ_ROUTES to 4096: this
> include SPI irqchip routes plus MSI routes. In the future this
> might be extended.
>
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
>
> ---
> v7 -> v8:
> - adapt to changes in kvm_kernel_irq_routing_entry and check the
> user entry flags according to the user entry type
>
> v6 -> v7:
> - added Andre's R-b
>
> v2 -> v3:
> - remove any reference to KVM_IRQ_ROUTING_EXTENDED_MSI type
> - unconditionnaly uapi flags and devid downto the kernel
> routing entry struct
> - handle KVM_MSI_VALID_DEVID flag in kvm_set_irq_routing
> - note about KVM_CAP_MSI_DEVID moved in the first patch file
> of the series
>
> v1 -> v2:
> - adapt to new routing entry types
>
> RFC -> PATCH:
> - move api MSI routing updates into that patch file
> - use new devid field of user api struct
> ---
> diff --git a/virt/kvm/irqchip.c b/virt/kvm/irqchip.c
> @@ -201,23 +202,25 @@ int kvm_set_irq_routing(struct kvm *kvm,
> new->chip[i][j] = -1;
>
> for (i = 0; i < nr; ++i) {
> - struct kvm_kernel_irq_routing_entry *e;
> -
> r = -ENOMEM;
> e = kzalloc(sizeof(*e), GFP_KERNEL);
> if (!e)
> goto out;
>
> r = -EINVAL;
> - if (ue->flags) {
> - kfree(e);
> - goto out;
> + switch (ue->type) {
> + case KVM_IRQ_ROUTING_IRQCHIP:
> + if (ue->flags)
> + goto free_entry;
> + break;
> + case KVM_IRQ_ROUTING_MSI:
> + if (ue->flags & ~KVM_MSI_VALID_DEVID)
> + goto free_entry;
> + break;
The function is common for all arches and there are currently two other
routing types (S390_ADAPTER and HV_SINT) that ought to be checked as
well, so "default" instead of "KVM_IRQ_ROUTING_IRQCHIP" would be better.
> }
> r = setup_routing_entry(new, e, ue);
> - if (r) {
> - kfree(e);
> - goto out;
> - }
> + if (r)
> + goto free_entry;
> ++ue;
> }
>
next prev parent reply other threads:[~2016-07-22 14:14 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 ` [RFC v8 3/7] KVM: irqchip: Convey devid to kvm_set_msi Eric Auger
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ář [this message]
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=20160722141425.GB9019@potion \
--to=rkrcmar@redhat.com \
--cc=andre.przywara@arm.com \
--cc=christoffer.dall@linaro.org \
--cc=drjones@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=eric.auger@redhat.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.