All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Eric Auger <eric.auger@linaro.org>
Cc: eric.auger@st.com, kvm@vger.kernel.org, patches@linaro.org,
	marc.zyngier@arm.com, andre.przywara@arm.com,
	p.fedin@samsung.com, linux-kernel@vger.kernel.org,
	pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 0/7] KVM: arm/arm64: gsi routing support
Date: Sun, 5 Jul 2015 21:40:42 +0200	[thread overview]
Message-ID: <20150705194042.GE3869@cbox> (raw)
In-Reply-To: <1435592237-17924-1-git-send-email-eric.auger@linaro.org>

On Mon, Jun 29, 2015 at 05:37:10PM +0200, Eric Auger wrote:
> With the advent of GICv3 ITS in-kernel emulation, KVM GSI routing
> appears to be requested. More specifically MSI routing is needed.
> irqchip routing does not sound to be really useful on arm but usage of
> MSI routing also mandates to integrate irqchip routing. The initial
> implementation of irqfd on arm must be upgraded with the integration
> of kvm irqchip.c code and the implementation of its standard hooks
> in the architecture specific part.
> 
> In case KVM_SET_GSI_ROUTING ioctl is not called, a default routing
> table with flat irqchip routing entries is built enabling to inject gsi
> corresponding to the SPI indexes seen by the guest.
> 
> As soon as KVM_SET_GSI_ROUTING is called, user-space overwrites this
> default routing table and is responsible for building the whole routing
> table.
> 
> for arm/arm64 KVM_SET_GSI_ROUTING has a limited support:
> - only applies to KVM_IRQFD and not to KVM_IRQ_LINE
> 
> - irqchip routing was tested on Calxeda midway (VFIO with irqfd)
> - MSI routing without GICv3 ITS was tested using APM Xgene-I
>   (qemu VIRTIO-PCI vhost net without gsi_direct_mapping).
> - MSI routing with GICv2 ITS is NOT yet tested.

Do you mean GICv3 ITS here?

> 
> Code can be found at https://git.linaro.org/people/eric.auger/linux.git/shortlog/refs/heads/v4.1-gsi-routing-patch
> 
> It applies on Andre's [PATCH 00/13] arm64: KVM: GICv3 ITS emulation
> (http://www.spinics.net/lists/kvm/msg117402.html)
> 
> History:
> 
> RFC -> PATCH:
> - clearly state limited support on arm/arm64:
>   KVM_IRQ_LINE not impacted by GSI routing
> - add default routing table feature (new patch file)
> - changed uapi to use padding field area
> - reword api.txt
> 
> 
> Eric Auger (7):
>   KVM: api: add kvm_irq_routing_extended_msi
>   KVM: kvm_host: add kvm_extended_msi
>   KVM: irqchip: convey devid to kvm_set_msi
>   KVM: arm/arm64: enable irqchip routing
>   KVM: arm/arm64: build a default routing table
>   KVM: arm/arm64: enable MSI routing
>   KVM: arm: implement kvm_set_msi by gsi direct mapping
> 
>  Documentation/virtual/kvm/api.txt |  30 ++++++++--
>  arch/arm/include/asm/kvm_host.h   |   2 +
>  arch/arm/kvm/Kconfig              |   3 +
>  arch/arm/kvm/Makefile             |   2 +-
>  arch/arm64/include/asm/kvm_host.h |   1 +
>  arch/arm64/kvm/Kconfig            |   2 +
>  arch/arm64/kvm/Makefile           |   2 +-
>  include/kvm/arm_vgic.h            |   9 ---
>  include/linux/kvm_host.h          |  10 ++++
>  include/uapi/linux/kvm.h          |   6 +-
>  virt/kvm/arm/vgic.c               | 117 ++++++++++++++++++++++++++++----------
>  virt/kvm/irqchip.c                |  20 +++++--
>  12 files changed, 154 insertions(+), 50 deletions(-)
> 
> -- 
> 1.9.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: christoffer.dall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/7] KVM: arm/arm64: gsi routing support
Date: Sun, 5 Jul 2015 21:40:42 +0200	[thread overview]
Message-ID: <20150705194042.GE3869@cbox> (raw)
In-Reply-To: <1435592237-17924-1-git-send-email-eric.auger@linaro.org>

On Mon, Jun 29, 2015 at 05:37:10PM +0200, Eric Auger wrote:
> With the advent of GICv3 ITS in-kernel emulation, KVM GSI routing
> appears to be requested. More specifically MSI routing is needed.
> irqchip routing does not sound to be really useful on arm but usage of
> MSI routing also mandates to integrate irqchip routing. The initial
> implementation of irqfd on arm must be upgraded with the integration
> of kvm irqchip.c code and the implementation of its standard hooks
> in the architecture specific part.
> 
> In case KVM_SET_GSI_ROUTING ioctl is not called, a default routing
> table with flat irqchip routing entries is built enabling to inject gsi
> corresponding to the SPI indexes seen by the guest.
> 
> As soon as KVM_SET_GSI_ROUTING is called, user-space overwrites this
> default routing table and is responsible for building the whole routing
> table.
> 
> for arm/arm64 KVM_SET_GSI_ROUTING has a limited support:
> - only applies to KVM_IRQFD and not to KVM_IRQ_LINE
> 
> - irqchip routing was tested on Calxeda midway (VFIO with irqfd)
> - MSI routing without GICv3 ITS was tested using APM Xgene-I
>   (qemu VIRTIO-PCI vhost net without gsi_direct_mapping).
> - MSI routing with GICv2 ITS is NOT yet tested.

Do you mean GICv3 ITS here?

> 
> Code can be found at https://git.linaro.org/people/eric.auger/linux.git/shortlog/refs/heads/v4.1-gsi-routing-patch
> 
> It applies on Andre's [PATCH 00/13] arm64: KVM: GICv3 ITS emulation
> (http://www.spinics.net/lists/kvm/msg117402.html)
> 
> History:
> 
> RFC -> PATCH:
> - clearly state limited support on arm/arm64:
>   KVM_IRQ_LINE not impacted by GSI routing
> - add default routing table feature (new patch file)
> - changed uapi to use padding field area
> - reword api.txt
> 
> 
> Eric Auger (7):
>   KVM: api: add kvm_irq_routing_extended_msi
>   KVM: kvm_host: add kvm_extended_msi
>   KVM: irqchip: convey devid to kvm_set_msi
>   KVM: arm/arm64: enable irqchip routing
>   KVM: arm/arm64: build a default routing table
>   KVM: arm/arm64: enable MSI routing
>   KVM: arm: implement kvm_set_msi by gsi direct mapping
> 
>  Documentation/virtual/kvm/api.txt |  30 ++++++++--
>  arch/arm/include/asm/kvm_host.h   |   2 +
>  arch/arm/kvm/Kconfig              |   3 +
>  arch/arm/kvm/Makefile             |   2 +-
>  arch/arm64/include/asm/kvm_host.h |   1 +
>  arch/arm64/kvm/Kconfig            |   2 +
>  arch/arm64/kvm/Makefile           |   2 +-
>  include/kvm/arm_vgic.h            |   9 ---
>  include/linux/kvm_host.h          |  10 ++++
>  include/uapi/linux/kvm.h          |   6 +-
>  virt/kvm/arm/vgic.c               | 117 ++++++++++++++++++++++++++++----------
>  virt/kvm/irqchip.c                |  20 +++++--
>  12 files changed, 154 insertions(+), 50 deletions(-)
> 
> -- 
> 1.9.1
> 

WARNING: multiple messages have this Message-ID (diff)
From: Christoffer Dall <christoffer.dall@linaro.org>
To: Eric Auger <eric.auger@linaro.org>
Cc: eric.auger@st.com, linux-arm-kernel@lists.infradead.org,
	marc.zyngier@arm.com, andre.przywara@arm.com,
	kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org, patches@linaro.org,
	p.fedin@samsung.com, pbonzini@redhat.com
Subject: Re: [PATCH 0/7] KVM: arm/arm64: gsi routing support
Date: Sun, 5 Jul 2015 21:40:42 +0200	[thread overview]
Message-ID: <20150705194042.GE3869@cbox> (raw)
In-Reply-To: <1435592237-17924-1-git-send-email-eric.auger@linaro.org>

On Mon, Jun 29, 2015 at 05:37:10PM +0200, Eric Auger wrote:
> With the advent of GICv3 ITS in-kernel emulation, KVM GSI routing
> appears to be requested. More specifically MSI routing is needed.
> irqchip routing does not sound to be really useful on arm but usage of
> MSI routing also mandates to integrate irqchip routing. The initial
> implementation of irqfd on arm must be upgraded with the integration
> of kvm irqchip.c code and the implementation of its standard hooks
> in the architecture specific part.
> 
> In case KVM_SET_GSI_ROUTING ioctl is not called, a default routing
> table with flat irqchip routing entries is built enabling to inject gsi
> corresponding to the SPI indexes seen by the guest.
> 
> As soon as KVM_SET_GSI_ROUTING is called, user-space overwrites this
> default routing table and is responsible for building the whole routing
> table.
> 
> for arm/arm64 KVM_SET_GSI_ROUTING has a limited support:
> - only applies to KVM_IRQFD and not to KVM_IRQ_LINE
> 
> - irqchip routing was tested on Calxeda midway (VFIO with irqfd)
> - MSI routing without GICv3 ITS was tested using APM Xgene-I
>   (qemu VIRTIO-PCI vhost net without gsi_direct_mapping).
> - MSI routing with GICv2 ITS is NOT yet tested.

Do you mean GICv3 ITS here?

> 
> Code can be found at https://git.linaro.org/people/eric.auger/linux.git/shortlog/refs/heads/v4.1-gsi-routing-patch
> 
> It applies on Andre's [PATCH 00/13] arm64: KVM: GICv3 ITS emulation
> (http://www.spinics.net/lists/kvm/msg117402.html)
> 
> History:
> 
> RFC -> PATCH:
> - clearly state limited support on arm/arm64:
>   KVM_IRQ_LINE not impacted by GSI routing
> - add default routing table feature (new patch file)
> - changed uapi to use padding field area
> - reword api.txt
> 
> 
> Eric Auger (7):
>   KVM: api: add kvm_irq_routing_extended_msi
>   KVM: kvm_host: add kvm_extended_msi
>   KVM: irqchip: convey devid to kvm_set_msi
>   KVM: arm/arm64: enable irqchip routing
>   KVM: arm/arm64: build a default routing table
>   KVM: arm/arm64: enable MSI routing
>   KVM: arm: implement kvm_set_msi by gsi direct mapping
> 
>  Documentation/virtual/kvm/api.txt |  30 ++++++++--
>  arch/arm/include/asm/kvm_host.h   |   2 +
>  arch/arm/kvm/Kconfig              |   3 +
>  arch/arm/kvm/Makefile             |   2 +-
>  arch/arm64/include/asm/kvm_host.h |   1 +
>  arch/arm64/kvm/Kconfig            |   2 +
>  arch/arm64/kvm/Makefile           |   2 +-
>  include/kvm/arm_vgic.h            |   9 ---
>  include/linux/kvm_host.h          |  10 ++++
>  include/uapi/linux/kvm.h          |   6 +-
>  virt/kvm/arm/vgic.c               | 117 ++++++++++++++++++++++++++++----------
>  virt/kvm/irqchip.c                |  20 +++++--
>  12 files changed, 154 insertions(+), 50 deletions(-)
> 
> -- 
> 1.9.1
> 

  parent reply	other threads:[~2015-07-05 19:29 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-29 15:37 [PATCH 0/7] KVM: arm/arm64: gsi routing support Eric Auger
2015-06-29 15:37 ` Eric Auger
2015-06-29 15:37 ` Eric Auger
2015-06-29 15:37 ` [PATCH 1/7] KVM: api: add kvm_irq_routing_extended_msi Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-07-02  7:26   ` Pavel Fedin
2015-07-02  7:26     ` Pavel Fedin
2015-07-02  7:26     ` Pavel Fedin
2015-07-02  8:41     ` Pavel Fedin
2015-07-02  8:41       ` Pavel Fedin
2015-07-02 14:50       ` Eric Auger
2015-07-02 14:50         ` Eric Auger
2015-07-02 14:50         ` Eric Auger
2015-07-02 14:49     ` Eric Auger
2015-07-02 14:49       ` Eric Auger
2015-07-02 14:49       ` Eric Auger
2015-07-02 15:14       ` Andre Przywara
2015-07-02 15:14         ` Andre Przywara
2015-07-02 15:14         ` Andre Przywara
2015-07-02 15:22         ` Eric Auger
2015-07-02 15:22           ` Eric Auger
2015-07-02 15:39           ` Pavel Fedin
2015-07-02 15:39             ` Pavel Fedin
2015-07-02 15:39             ` Pavel Fedin
2015-07-02 15:41             ` Eric Auger
2015-07-02 15:41               ` Eric Auger
2015-07-03 15:29               ` Pavel Fedin
2015-07-03 15:29                 ` Pavel Fedin
2015-07-03 15:29                 ` Pavel Fedin
2015-07-03 15:42                 ` Eric Auger
2015-07-03 15:42                   ` Eric Auger
2015-07-03 15:42                   ` Eric Auger
2015-07-03  9:05     ` Andre Przywara
2015-07-03  9:05       ` Andre Przywara
2015-07-03  9:05       ` Andre Przywara
2015-07-03 15:53       ` Andre Przywara
2015-07-03 15:53         ` Andre Przywara
2015-07-03 15:53         ` Andre Przywara
2015-07-06  6:42       ` Pavel Fedin
2015-07-06  6:42         ` Pavel Fedin
2015-07-06  6:42         ` Pavel Fedin
2015-07-06  8:30         ` Andre Przywara
2015-07-06  8:30           ` Andre Przywara
2015-07-06  8:30           ` Andre Przywara
2015-07-06  9:30           ` Christoffer Dall
2015-07-06  9:30             ` Christoffer Dall
2015-07-06  9:30             ` Christoffer Dall
2015-07-06 10:05             ` Andre Przywara
2015-07-06 10:05               ` Andre Przywara
2015-07-06 10:05               ` Andre Przywara
2015-07-06 10:37               ` Christoffer Dall
2015-07-06 10:37                 ` Christoffer Dall
2015-07-06 10:37                 ` Christoffer Dall
2015-07-06 11:07                 ` Paolo Bonzini
2015-07-06 11:07                   ` Paolo Bonzini
2015-07-06 11:23                   ` Andre Przywara
2015-07-06 11:23                     ` Andre Przywara
2015-07-06 11:23                     ` Andre Przywara
2015-07-06 11:51                     ` Paolo Bonzini
2015-07-06 11:51                       ` Paolo Bonzini
2015-07-06 13:32                       ` Pavel Fedin
2015-07-06 13:32                         ` Pavel Fedin
2015-07-06 15:01                         ` Eric Auger
2015-07-06 15:01                           ` Eric Auger
2015-07-06 15:01                           ` Eric Auger
2015-07-06 15:52                           ` Andre Przywara
2015-07-06 15:52                             ` Andre Przywara
2015-07-06 15:52                             ` Andre Przywara
2015-07-06 17:02                             ` Eric Auger
2015-07-06 17:02                               ` Eric Auger
2015-07-07  7:23                             ` Pavel Fedin
2015-07-07  7:23                               ` Pavel Fedin
2015-07-07  7:23                               ` Pavel Fedin
2015-07-07  7:43                               ` Eric Auger
2015-07-07  7:43                                 ` Eric Auger
2015-07-07  7:43                                 ` Eric Auger
2015-07-06 15:37                         ` Andre Przywara
2015-07-06 15:37                           ` Andre Przywara
2015-07-06 15:37                           ` Andre Przywara
2015-07-06 15:54                           ` Paolo Bonzini
2015-07-06 15:54                             ` Paolo Bonzini
2015-07-06 15:54                             ` Paolo Bonzini
2015-07-06 16:08                             ` Andre Przywara
2015-07-06 16:08                               ` Andre Przywara
2015-07-06 16:08                               ` Andre Przywara
2015-07-07  7:16                           ` Pavel Fedin
2015-07-07  7:16                             ` Pavel Fedin
2015-07-07  7:16                             ` Pavel Fedin
2015-07-07 10:02                             ` Andre Przywara
2015-07-07 10:02                               ` Andre Przywara
2015-07-07 10:02                               ` Andre Przywara
2015-07-07 10:57                               ` Pavel Fedin
2015-07-07 10:57                                 ` Pavel Fedin
2015-07-07 10:57                                 ` Pavel Fedin
2015-07-06 12:08                     ` Christoffer Dall
2015-07-06 12:08                       ` Christoffer Dall
2015-07-06 13:33                       ` Pavel Fedin
2015-07-06 13:33                         ` Pavel Fedin
2015-07-06 13:33                         ` Pavel Fedin
2015-07-06 15:09                       ` Andre Przywara
2015-07-06 15:09                         ` Andre Przywara
2015-07-06 15:09                         ` Andre Przywara
2015-06-29 15:37 ` [PATCH 2/7] KVM: kvm_host: add kvm_extended_msi Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-07-02 17:03   ` Andre Przywara
2015-07-02 17:03     ` Andre Przywara
2015-07-02 17:03     ` Andre Przywara
2015-06-29 15:37 ` [PATCH 3/7] KVM: irqchip: convey devid to kvm_set_msi Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37 ` [PATCH 4/7] KVM: arm/arm64: enable irqchip routing Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-30 13:39   ` Andre Przywara
2015-06-30 13:39     ` Andre Przywara
2015-06-30 13:39     ` Andre Przywara
2015-06-30 14:02     ` Eric Auger
2015-06-30 14:02       ` Eric Auger
2015-06-30 14:02       ` Eric Auger
2015-06-29 15:37 ` [PATCH 5/7] KVM: arm/arm64: build a default routing table Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37 ` [PATCH 6/7] KVM: arm/arm64: enable MSI routing Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37 ` [PATCH 7/7] KVM: arm: implement kvm_set_msi by gsi direct mapping Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-06-29 15:37   ` Eric Auger
2015-07-02  7:53   ` Pavel Fedin
2015-07-02  7:53     ` Pavel Fedin
2015-07-02 15:02     ` Eric Auger
2015-07-02 15:02       ` Eric Auger
2015-07-02 15:02       ` Eric Auger
2015-07-02 15:37       ` Pavel Fedin
2015-07-02 15:37         ` Pavel Fedin
2015-07-02 15:37         ` Pavel Fedin
2015-07-02 17:10   ` Andre Przywara
2015-07-02 17:10     ` Andre Przywara
2015-07-02 17:10     ` Andre Przywara
2015-07-03  5:34     ` Eric Auger
2015-07-03  5:34       ` Eric Auger
2015-07-03  5:34       ` Eric Auger
2015-07-05 19:40 ` Christoffer Dall [this message]
2015-07-05 19:40   ` [PATCH 0/7] KVM: arm/arm64: gsi routing support Christoffer Dall
2015-07-05 19:40   ` Christoffer Dall

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=20150705194042.GE3869@cbox \
    --to=christoffer.dall@linaro.org \
    --cc=andre.przywara@arm.com \
    --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=linux-kernel@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=p.fedin@samsung.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: 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.