All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Radim Krčmář" <rkrcmar@redhat.com>
To: Eric Auger <eric.auger@redhat.com>
Cc: kvm@vger.kernel.org, marc.zyngier@arm.com,
	andre.przywara@arm.com, pbonzini@redhat.com,
	kvmarm@lists.cs.columbia.edu, eric.auger.pro@gmail.com
Subject: Re: [RFC v7 7/7] KVM: arm: enable KVM_SIGNAL_MSI and MSI routing
Date: Thu, 21 Jul 2016 18:33:42 +0200	[thread overview]
Message-ID: <20160721163341.GE32739@potion> (raw)
In-Reply-To: <1468848357-2331-8-git-send-email-eric.auger@redhat.com>

2016-07-18 13:25+0000, Eric Auger:
> If the ITS modality is not available, let's simply support MSI
> injection by transforming the MSI.data into an SPI ID.
> 
> This becomes possible to use KVM_SIGNAL_MSI ioctl and MSI
> routing for arm too.
> 
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> 
> ---
> 
> v6 -> v7:
> - move vgic_v2m_inject_msi into vgic-irqfd
> 
> v4 -> v5:
> - on vgic_v2m_inject_msi check the msi->data is within the SPI range
> - move KVM_HAVE_MSI in the KVM section (to be symetrical with ARM64)
> 
> v2 -> v3:
> - reword the commit message
> - add sanity check about devid provision
> 
> v1 -> v2:
> - introduce vgic_v2m_inject_msi in vgic-v2-emul.c following Andre's
>   advice
> ---
> diff --git a/virt/kvm/arm/vgic/vgic-irqfd.c b/virt/kvm/arm/vgic/vgic-irqfd.c
> +static int vgic_v2m_inject_msi(struct kvm *kvm, struct kvm_msi *msi)
> +{
> +	if (msi->flags & KVM_MSI_VALID_DEVID)
> +		return -EINVAL;
> +	if (!vgic_valid_spi(kvm, msi->data))
> +		return -EINVAL;
> +
> +	return kvm_vgic_inject_irq(kvm, 0, msi->data, 1);

Hm, this isn't very MSI related ...

arm already has KVM_IRQ_LINE/kvm_vm_ioctl_irq_line with
KVM_ARM_IRQ_TYPE_SPI that does
  kvm_vgic_inject_irq(kvm, 0, irq_num, level)

Is that interface lacking?

Thanks.

> +}
> +
> +/**
>   * kvm_set_msi: inject the MSI corresponding to the
>   * MSI routing entry
>   *
> @@ -96,7 +113,7 @@ int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e,
>  	msi.devid = e->msi_devid;
>  
>  	if (!vgic_has_its(kvm))
> -		return -ENODEV;
> +		return vgic_v2m_inject_msi(kvm, &msi);
>  
>  	return vgic_its_inject_msi(kvm, &msi);
>  }
> -- 
> 1.9.1
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2016-07-21 16:27 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18 13:25 [RFC v7 0/7] KVM: arm/arm64: gsi routing support Eric Auger
2016-07-18 13:25 ` [RFC v7 1/7] KVM: api: pass the devid in the msi routing entry Eric Auger
2016-07-21 16:01   ` Radim Krčmář
2016-07-21 16:43     ` Andre Przywara
2016-07-21 17:15       ` Radim Krčmář
2016-07-21 20:48         ` Auger Eric
2016-07-18 13:25 ` [RFC v7 2/7] KVM: kvm_host: add devid in kvm_kernel_irq_routing_entry Eric Auger
2016-07-21 16:13   ` Radim Krčmář
2016-07-21 16:54     ` Marc Zyngier
2016-07-21 17:22       ` Radim Krčmář
2016-07-21 17:25         ` Marc Zyngier
2016-07-21 20:47           ` Auger Eric
2016-07-18 13:25 ` [RFC v7 3/7] KVM: irqchip: convey devid to kvm_set_msi Eric Auger
2016-07-18 13:25 ` [RFC v7 4/7] KVM: move kvm_setup_default/empty_irq_routing declaration in arch specific header Eric Auger
2016-07-18 13:25 ` [RFC v7 5/7] KVM: arm/arm64: enable irqchip routing Eric Auger
2016-07-19 14:56   ` Marc Zyngier
2016-07-19 15:46     ` Paolo Bonzini
2016-07-19 16:16       ` Marc Zyngier
2016-07-20  7:31         ` Auger Eric
2016-07-21 15:33           ` Marc Zyngier
2016-07-18 13:25 ` [RFC v7 6/7] KVM: arm/arm64: enable MSI routing Eric Auger
2016-07-21 16:21   ` Radim Krčmář
2016-07-21 20:50     ` Auger Eric
2016-07-18 13:25 ` [RFC v7 7/7] KVM: arm: enable KVM_SIGNAL_MSI and " Eric Auger
2016-07-21 16:33   ` Radim Krčmář [this message]
2016-07-21 21:10     ` Auger Eric
2016-07-22 13:39       ` Radim Krčmář
2016-07-22 13:52         ` Auger Eric
2016-07-22 13:56           ` Radim Krčmář
2016-07-22 13:59             ` Auger Eric

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=20160721163341.GE32739@potion \
    --to=rkrcmar@redhat.com \
    --cc=andre.przywara@arm.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.