All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Christoffer Dall <christoffer.dall@arm.com>,
	kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org
Cc: kvm@vger.kernel.org, Andre Przywara <andre.przywara@arm.com>
Subject: Re: [PATCH v4 00/10] KVM: arm/arm64: vgic: Virtual interrupt grouping support
Date: Fri, 20 Jul 2018 11:12:33 +0100	[thread overview]
Message-ID: <96b935cc-9090-881e-8872-97650583b431@arm.com> (raw)
In-Reply-To: <1531746387-7033-1-git-send-email-christoffer.dall@arm.com>

On 16/07/18 14:06, Christoffer Dall wrote:
> This series addresses a peculiarity of the current VGIC
> implementation, namely that we don't support interrupt grouping.
> 
> KVM either implements a GICv2 without support for the security
> extensions, or a GICv3 with DS=1.  For GICv2, on systems without the
> security extensions, group 0 interrupts can be configured to be either
> signalled as FIQs or as IRQs by the VM, whereas group 1 interrupts are
> always IRQs.  For GICv3, with DS=1, group 1 interrupts are always IRQs
> and group 0 interrupts are always FIQs, and there is no concept of
> secure vs. non-secure group 1 interrupts when DS=1.
> 
> We were treating all interrupts on GICv2 as group 0, but yet telling the
> guest that they were group 1.  The first patch changes this behavior,
> which seems to have no effect on no known guests, but still.
> 
> The remaining patches introduce proper interrupt grouping support, along
> with MMIO accessors for the VM and userspace to retrieve and set the
> which group SGIs, PPIs, and SPIs belong to.  LPIs are always group 1
> interrupts as per the architecture, and there is no way to modify this
> configuration (no IGROUPR registers for LPIs or equivalent ITS
> commands).
> 
> Tested on Seattle, TX1, and the foundation model.  I've run a
> GICv2 guest on a GICv3 host on the foundation model.  I've tested
> migration on Seattle, and migration from an old kernel to a newer kernel
> with an unmodified QEMU binary continues to work.  I also tested a
> modified userspace that sets some interrupts to group 1, and that is
> reflected in the vgic debug output.

Applied to kvmarm/next

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 00/10] KVM: arm/arm64: vgic: Virtual interrupt grouping support
Date: Fri, 20 Jul 2018 11:12:33 +0100	[thread overview]
Message-ID: <96b935cc-9090-881e-8872-97650583b431@arm.com> (raw)
In-Reply-To: <1531746387-7033-1-git-send-email-christoffer.dall@arm.com>

On 16/07/18 14:06, Christoffer Dall wrote:
> This series addresses a peculiarity of the current VGIC
> implementation, namely that we don't support interrupt grouping.
> 
> KVM either implements a GICv2 without support for the security
> extensions, or a GICv3 with DS=1.  For GICv2, on systems without the
> security extensions, group 0 interrupts can be configured to be either
> signalled as FIQs or as IRQs by the VM, whereas group 1 interrupts are
> always IRQs.  For GICv3, with DS=1, group 1 interrupts are always IRQs
> and group 0 interrupts are always FIQs, and there is no concept of
> secure vs. non-secure group 1 interrupts when DS=1.
> 
> We were treating all interrupts on GICv2 as group 0, but yet telling the
> guest that they were group 1.  The first patch changes this behavior,
> which seems to have no effect on no known guests, but still.
> 
> The remaining patches introduce proper interrupt grouping support, along
> with MMIO accessors for the VM and userspace to retrieve and set the
> which group SGIs, PPIs, and SPIs belong to.  LPIs are always group 1
> interrupts as per the architecture, and there is no way to modify this
> configuration (no IGROUPR registers for LPIs or equivalent ITS
> commands).
> 
> Tested on Seattle, TX1, and the foundation model.  I've run a
> GICv2 guest on a GICv3 host on the foundation model.  I've tested
> migration on Seattle, and migration from an old kernel to a newer kernel
> with an unmodified QEMU binary continues to work.  I also tested a
> modified userspace that sets some interrupts to group 1, and that is
> reflected in the vgic debug output.

Applied to kvmarm/next

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  parent reply	other threads:[~2018-07-20 10:12 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-16 13:06 [PATCH v4 00/10] KVM: arm/arm64: vgic: Virtual interrupt grouping support Christoffer Dall
2018-07-16 13:06 ` Christoffer Dall
2018-07-16 13:06 ` [PATCH v4 01/10] KVM: arm/arm64: vgic: Define GICD_IIDR fields for GICv2 and GIv3 Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 16:08   ` Andrew Jones
2018-07-19 16:08     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 02/10] KVM: arm/arm64: vgic: Keep track of implementation revision Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 16:11   ` Andrew Jones
2018-07-19 16:11     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 03/10] KVM: arm/arm64: vgic: GICv2 IGROUPR should read as zero Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 18:16   ` Andrew Jones
2018-07-19 18:16     ` Andrew Jones
2018-07-19 20:56     ` Christoffer Dall
2018-07-19 20:56       ` Christoffer Dall
2018-07-16 13:06 ` [PATCH v4 04/10] KVM: arm/arm64: vgic: Add group field to struct irq Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 16:16   ` Andrew Jones
2018-07-19 16:16     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 05/10] KVM: arm/arm64: vgic: Signal IRQs using their configured group Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 16:28   ` Andrew Jones
2018-07-19 16:28     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 06/10] KVM: arm/arm64: vgic: Permit uaccess writes to return errors Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 16:31   ` Andrew Jones
2018-07-19 16:31     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 07/10] KVM: arm/arm64: vgic: Return error on incompatible uaccess GICD_IIDR writes Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-16 15:43   ` Bharat Bhushan
2018-07-16 15:43     ` Bharat Bhushan
2018-07-17  9:10     ` Christoffer Dall
2018-07-17  9:10       ` Christoffer Dall
2018-07-19 17:09   ` Andrew Jones
2018-07-19 17:09     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 08/10] KVM: arm/arm64: vgic: Allow configuration of interrupt groups Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 17:26   ` Andrew Jones
2018-07-19 17:26     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 09/10] KVM: arm/arm64: vgic: Let userspace opt-in to writable v2 IGROUPR Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-19 18:17   ` Andrew Jones
2018-07-19 18:17     ` Andrew Jones
2018-07-16 13:06 ` [PATCH v4 10/10] KVM: arm/arm64: vgic: Update documentation of the GIC devices wrt IIDR Christoffer Dall
2018-07-16 13:06   ` Christoffer Dall
2018-07-16 15:59   ` Bharat Bhushan
2018-07-16 15:59     ` Bharat Bhushan
2018-07-17  9:13     ` Christoffer Dall
2018-07-17  9:13       ` Christoffer Dall
2018-07-18 10:45       ` Bharat Bhushan
2018-07-18 10:45         ` Bharat Bhushan
2018-07-19 17:08   ` Andrew Jones
2018-07-19 17:08     ` Andrew Jones
2018-07-19 20:57     ` Christoffer Dall
2018-07-19 20:57       ` Christoffer Dall
2018-07-20 10:12 ` Marc Zyngier [this message]
2018-07-20 10:12   ` [PATCH v4 00/10] KVM: arm/arm64: vgic: Virtual interrupt grouping support Marc Zyngier

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=96b935cc-9090-881e-8872-97650583b431@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=andre.przywara@arm.com \
    --cc=christoffer.dall@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.