All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoffer Dall <cdall@linaro.org>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Christoffer Dall <christoffer.dall@linaro.org>,
	Eric Auger <eric.auger@redhat.com>,
	Shanker Donthineni <shankerd@codeaurora.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Shameerali Kolothum Thodi  <shameerali.kolothum.thodi@huawei.com>,
	Andre Przywara <Andre.Przywara@arm.com>
Subject: Re: [PATCH v5 01/26] irqchip/gic-v3-its: Setup VLPI properties at map time
Date: Mon, 30 Oct 2017 07:46:33 +0100	[thread overview]
Message-ID: <20171030064633.GM2166@lvm> (raw)
In-Reply-To: <20171027142855.21584-2-marc.zyngier@arm.com>

On Fri, Oct 27, 2017 at 03:28:30PM +0100, Marc Zyngier wrote:
> So far, we require the hypervisor to update the VLPI properties
> once the the VLPI mapping has been established. While this
> makes it easy for the ITS driver, it creates a window where
> an incoming interrupt can be delivered with an unknown set
> of properties. Not very nice.
> 
> Instead, let's add a "properties" field to the mapping structure,
> and use that to configure the VLPI before it actually gets mapped.
> 

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>

> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its.c   | 19 +++++++++++++++++--
>  include/linux/irqchip/arm-gic-v4.h |  2 ++
>  2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 85f47ef4f1f7..2c4074c97454 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -1006,9 +1006,15 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	if (irqd_is_forwarded_to_vcpu(d)) {
>  		struct its_device *its_dev = irq_data_get_irq_chip_data(d);
>  		u32 event = its_get_event_id(d);
> +		struct its_vlpi_map *map;
>  
>  		prop_page = its_dev->event_map.vm->vprop_page;
> -		hwirq = its_dev->event_map.vlpi_maps[event].vintid;
> +		map = &its_dev->event_map.vlpi_maps[event];
> +		hwirq = map->vintid;
> +
> +		/* Remember the updated property */
> +		map->properties &= ~clr;
> +		map->properties |= set | LPI_PROP_GROUP1;
>  	} else {
>  		prop_page = gic_rdists->prop_page;
>  		hwirq = d->hwirq;
> @@ -1018,6 +1024,7 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	*cfg &= ~clr;
>  	*cfg |= set | LPI_PROP_GROUP1;
>  
> +
>  	/*
>  	 * Make the above write visible to the redistributors.
>  	 * And yes, we're flushing exactly: One. Single. Byte.
> @@ -1238,12 +1245,20 @@ static int its_vlpi_map(struct irq_data *d, struct its_cmd_info *info)
>  		/* Ensure all the VPEs are mapped on this ITS */
>  		its_map_vm(its_dev->its, info->map->vm);
>  
> +		/*
> +		 * Flag the interrupt as forwarded so that we can
> +		 * start poking the virtual property table.
> +		 */
> +		irqd_set_forwarded_to_vcpu(d);
> +
> +		/* Write out the property to the prop table */
> +		lpi_write_config(d, 0xff, info->map->properties);
> +
>  		/* Drop the physical mapping */
>  		its_send_discard(its_dev, event);
>  
>  		/* and install the virtual one */
>  		its_send_vmapti(its_dev, event);
> -		irqd_set_forwarded_to_vcpu(d);
>  
>  		/* Increment the number of VLPIs */
>  		its_dev->event_map.nr_vlpis++;
> diff --git a/include/linux/irqchip/arm-gic-v4.h b/include/linux/irqchip/arm-gic-v4.h
> index 43cde15f221b..447da8ca2156 100644
> --- a/include/linux/irqchip/arm-gic-v4.h
> +++ b/include/linux/irqchip/arm-gic-v4.h
> @@ -71,12 +71,14 @@ struct its_vpe {
>   * @vm:		Pointer to the GICv4 notion of a VM
>   * @vpe:	Pointer to the GICv4 notion of a virtual CPU (VPE)
>   * @vintid:	Virtual LPI number
> + * @properties:	Priority and enable bits (as written in the prop table)
>   * @db_enabled:	Is the VPE doorbell to be generated?
>   */
>  struct its_vlpi_map {
>  	struct its_vm		*vm;
>  	struct its_vpe		*vpe;
>  	u32			vintid;
> +	u8			properties;
>  	bool			db_enabled;
>  };
>  
> -- 
> 2.11.0
> 

WARNING: multiple messages have this Message-ID (diff)
From: Christoffer Dall <cdall@linaro.org>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvm@vger.kernel.org, Andre Przywara <Andre.Przywara@arm.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH v5 01/26] irqchip/gic-v3-its: Setup VLPI properties at map time
Date: Mon, 30 Oct 2017 07:46:33 +0100	[thread overview]
Message-ID: <20171030064633.GM2166@lvm> (raw)
In-Reply-To: <20171027142855.21584-2-marc.zyngier@arm.com>

On Fri, Oct 27, 2017 at 03:28:30PM +0100, Marc Zyngier wrote:
> So far, we require the hypervisor to update the VLPI properties
> once the the VLPI mapping has been established. While this
> makes it easy for the ITS driver, it creates a window where
> an incoming interrupt can be delivered with an unknown set
> of properties. Not very nice.
> 
> Instead, let's add a "properties" field to the mapping structure,
> and use that to configure the VLPI before it actually gets mapped.
> 

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>

> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its.c   | 19 +++++++++++++++++--
>  include/linux/irqchip/arm-gic-v4.h |  2 ++
>  2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 85f47ef4f1f7..2c4074c97454 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -1006,9 +1006,15 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	if (irqd_is_forwarded_to_vcpu(d)) {
>  		struct its_device *its_dev = irq_data_get_irq_chip_data(d);
>  		u32 event = its_get_event_id(d);
> +		struct its_vlpi_map *map;
>  
>  		prop_page = its_dev->event_map.vm->vprop_page;
> -		hwirq = its_dev->event_map.vlpi_maps[event].vintid;
> +		map = &its_dev->event_map.vlpi_maps[event];
> +		hwirq = map->vintid;
> +
> +		/* Remember the updated property */
> +		map->properties &= ~clr;
> +		map->properties |= set | LPI_PROP_GROUP1;
>  	} else {
>  		prop_page = gic_rdists->prop_page;
>  		hwirq = d->hwirq;
> @@ -1018,6 +1024,7 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	*cfg &= ~clr;
>  	*cfg |= set | LPI_PROP_GROUP1;
>  
> +
>  	/*
>  	 * Make the above write visible to the redistributors.
>  	 * And yes, we're flushing exactly: One. Single. Byte.
> @@ -1238,12 +1245,20 @@ static int its_vlpi_map(struct irq_data *d, struct its_cmd_info *info)
>  		/* Ensure all the VPEs are mapped on this ITS */
>  		its_map_vm(its_dev->its, info->map->vm);
>  
> +		/*
> +		 * Flag the interrupt as forwarded so that we can
> +		 * start poking the virtual property table.
> +		 */
> +		irqd_set_forwarded_to_vcpu(d);
> +
> +		/* Write out the property to the prop table */
> +		lpi_write_config(d, 0xff, info->map->properties);
> +
>  		/* Drop the physical mapping */
>  		its_send_discard(its_dev, event);
>  
>  		/* and install the virtual one */
>  		its_send_vmapti(its_dev, event);
> -		irqd_set_forwarded_to_vcpu(d);
>  
>  		/* Increment the number of VLPIs */
>  		its_dev->event_map.nr_vlpis++;
> diff --git a/include/linux/irqchip/arm-gic-v4.h b/include/linux/irqchip/arm-gic-v4.h
> index 43cde15f221b..447da8ca2156 100644
> --- a/include/linux/irqchip/arm-gic-v4.h
> +++ b/include/linux/irqchip/arm-gic-v4.h
> @@ -71,12 +71,14 @@ struct its_vpe {
>   * @vm:		Pointer to the GICv4 notion of a VM
>   * @vpe:	Pointer to the GICv4 notion of a virtual CPU (VPE)
>   * @vintid:	Virtual LPI number
> + * @properties:	Priority and enable bits (as written in the prop table)
>   * @db_enabled:	Is the VPE doorbell to be generated?
>   */
>  struct its_vlpi_map {
>  	struct its_vm		*vm;
>  	struct its_vpe		*vpe;
>  	u32			vintid;
> +	u8			properties;
>  	bool			db_enabled;
>  };
>  
> -- 
> 2.11.0
> 

WARNING: multiple messages have this Message-ID (diff)
From: cdall@linaro.org (Christoffer Dall)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 01/26] irqchip/gic-v3-its: Setup VLPI properties at map time
Date: Mon, 30 Oct 2017 07:46:33 +0100	[thread overview]
Message-ID: <20171030064633.GM2166@lvm> (raw)
In-Reply-To: <20171027142855.21584-2-marc.zyngier@arm.com>

On Fri, Oct 27, 2017 at 03:28:30PM +0100, Marc Zyngier wrote:
> So far, we require the hypervisor to update the VLPI properties
> once the the VLPI mapping has been established. While this
> makes it easy for the ITS driver, it creates a window where
> an incoming interrupt can be delivered with an unknown set
> of properties. Not very nice.
> 
> Instead, let's add a "properties" field to the mapping structure,
> and use that to configure the VLPI before it actually gets mapped.
> 

Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org>

> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
>  drivers/irqchip/irq-gic-v3-its.c   | 19 +++++++++++++++++--
>  include/linux/irqchip/arm-gic-v4.h |  2 ++
>  2 files changed, 19 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 85f47ef4f1f7..2c4074c97454 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -1006,9 +1006,15 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	if (irqd_is_forwarded_to_vcpu(d)) {
>  		struct its_device *its_dev = irq_data_get_irq_chip_data(d);
>  		u32 event = its_get_event_id(d);
> +		struct its_vlpi_map *map;
>  
>  		prop_page = its_dev->event_map.vm->vprop_page;
> -		hwirq = its_dev->event_map.vlpi_maps[event].vintid;
> +		map = &its_dev->event_map.vlpi_maps[event];
> +		hwirq = map->vintid;
> +
> +		/* Remember the updated property */
> +		map->properties &= ~clr;
> +		map->properties |= set | LPI_PROP_GROUP1;
>  	} else {
>  		prop_page = gic_rdists->prop_page;
>  		hwirq = d->hwirq;
> @@ -1018,6 +1024,7 @@ static void lpi_write_config(struct irq_data *d, u8 clr, u8 set)
>  	*cfg &= ~clr;
>  	*cfg |= set | LPI_PROP_GROUP1;
>  
> +
>  	/*
>  	 * Make the above write visible to the redistributors.
>  	 * And yes, we're flushing exactly: One. Single. Byte.
> @@ -1238,12 +1245,20 @@ static int its_vlpi_map(struct irq_data *d, struct its_cmd_info *info)
>  		/* Ensure all the VPEs are mapped on this ITS */
>  		its_map_vm(its_dev->its, info->map->vm);
>  
> +		/*
> +		 * Flag the interrupt as forwarded so that we can
> +		 * start poking the virtual property table.
> +		 */
> +		irqd_set_forwarded_to_vcpu(d);
> +
> +		/* Write out the property to the prop table */
> +		lpi_write_config(d, 0xff, info->map->properties);
> +
>  		/* Drop the physical mapping */
>  		its_send_discard(its_dev, event);
>  
>  		/* and install the virtual one */
>  		its_send_vmapti(its_dev, event);
> -		irqd_set_forwarded_to_vcpu(d);
>  
>  		/* Increment the number of VLPIs */
>  		its_dev->event_map.nr_vlpis++;
> diff --git a/include/linux/irqchip/arm-gic-v4.h b/include/linux/irqchip/arm-gic-v4.h
> index 43cde15f221b..447da8ca2156 100644
> --- a/include/linux/irqchip/arm-gic-v4.h
> +++ b/include/linux/irqchip/arm-gic-v4.h
> @@ -71,12 +71,14 @@ struct its_vpe {
>   * @vm:		Pointer to the GICv4 notion of a VM
>   * @vpe:	Pointer to the GICv4 notion of a virtual CPU (VPE)
>   * @vintid:	Virtual LPI number
> + * @properties:	Priority and enable bits (as written in the prop table)
>   * @db_enabled:	Is the VPE doorbell to be generated?
>   */
>  struct its_vlpi_map {
>  	struct its_vm		*vm;
>  	struct its_vpe		*vpe;
>  	u32			vintid;
> +	u8			properties;
>  	bool			db_enabled;
>  };
>  
> -- 
> 2.11.0
> 

  reply	other threads:[~2017-10-30  6:46 UTC|newest]

Thread overview: 234+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-27 14:28 [PATCH v5 00/26] KVM/ARM: Add support for GICv4 Marc Zyngier
2017-10-27 14:28 ` Marc Zyngier
2017-10-27 14:28 ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 01/26] irqchip/gic-v3-its: Setup VLPI properties at map time Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-30  6:46   ` Christoffer Dall [this message]
2017-10-30  6:46     ` Christoffer Dall
2017-10-30  6:46     ` Christoffer Dall
2017-10-27 14:28 ` [PATCH v5 02/26] KVM: arm/arm64: register irq bypass consumer on ARM/ARM64 Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-30  6:47   ` Christoffer Dall
2017-10-30  6:47     ` Christoffer Dall
2017-10-30  6:47     ` Christoffer Dall
2017-10-27 14:28 ` [PATCH v5 03/26] KVM: arm/arm64: vgic: restructure kvm_vgic_(un)map_phys_irq Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 04/26] KVM: arm: Select ARM_GIC_V3 and ARM_GIC_V3_ITS Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 05/26] KVM: arm/arm64: vgic: Move kvm_vgic_destroy call around Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 06/26] KVM: arm/arm64: vITS: Add MSI translation helpers Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 20:34   ` Auger Eric
2017-11-07 20:34     ` Auger Eric
2017-11-07 20:34     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 07/26] KVM: arm/arm64: vITS: Add a helper to update the affinity of an LPI Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 13:44   ` Auger Eric
2017-11-07 13:44     ` Auger Eric
2017-11-07 13:44     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 08/26] KVM: arm/arm64: GICv4: Add property field and per-VM predicate Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 20:30   ` Auger Eric
2017-11-07 20:30     ` Auger Eric
2017-11-07 20:30     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 09/26] KVM: arm/arm64: GICv4: Add init/teardown of the per-VM vPE irq domain Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 13:08   ` Auger Eric
2017-11-07 13:08     ` Auger Eric
2017-11-07 13:08     ` Auger Eric
2017-11-10  8:20     ` Christoffer Dall
2017-11-10  8:20       ` Christoffer Dall
2017-11-10  8:20       ` Christoffer Dall
2017-11-10  8:55       ` Marc Zyngier
2017-11-10  8:55         ` Marc Zyngier
2017-11-10  8:55         ` Marc Zyngier
2017-11-07 13:09   ` Auger Eric
2017-11-07 13:09     ` Auger Eric
2017-11-07 13:09     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 10/26] KVM: arm/arm64: GICv4: Wire mapping/unmapping of VLPIs in VFIO irq bypass Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 13:06   ` Auger Eric
2017-11-07 13:06     ` Auger Eric
2017-11-07 13:06     ` Auger Eric
2017-11-07 14:42     ` Marc Zyngier
2017-11-07 14:42       ` Marc Zyngier
2017-11-07 14:42       ` Marc Zyngier
2017-11-07 15:59       ` Auger Eric
2017-11-07 15:59         ` Auger Eric
2017-11-07 15:59         ` Auger Eric
2017-11-08 11:30         ` Marc Zyngier
2017-11-08 11:30           ` Marc Zyngier
2017-11-08 11:30           ` Marc Zyngier
2017-11-10  8:28       ` Christoffer Dall
2017-11-10  8:28         ` Christoffer Dall
2017-11-10  8:28         ` Christoffer Dall
2017-11-10  9:05         ` Marc Zyngier
2017-11-10  9:05           ` Marc Zyngier
2017-11-10  9:05           ` Marc Zyngier
2017-11-10  9:41           ` Christoffer Dall
2017-11-10  9:41             ` Christoffer Dall
2017-11-10  9:41             ` Christoffer Dall
2017-10-27 14:28 ` [PATCH v5 11/26] KVM: arm/arm64: GICv4: Handle INT command applied to a VLPI Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 20:15   ` Auger Eric
2017-11-07 20:15     ` Auger Eric
2017-11-07 20:15     ` Auger Eric
2017-11-08 11:40     ` Marc Zyngier
2017-11-08 11:40       ` Marc Zyngier
2017-11-08 11:40       ` Marc Zyngier
2017-11-08 14:14       ` Auger Eric
2017-11-08 14:14         ` Auger Eric
2017-11-08 14:14         ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 12/26] KVM: arm/arm64: GICv4: Unmap VLPI when freeing an LPI Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 20:28   ` Auger Eric
2017-11-07 20:28     ` Auger Eric
2017-11-07 20:28     ` Auger Eric
2017-11-08 11:52     ` Marc Zyngier
2017-11-08 11:52       ` Marc Zyngier
2017-11-08 11:52       ` Marc Zyngier
2017-11-08 14:14       ` Auger Eric
2017-11-08 14:14         ` Auger Eric
2017-11-08 14:14         ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 13/26] KVM: arm/arm64: GICv4: Propagate affinity changes to the physical ITS Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:01   ` Auger Eric
2017-11-07 21:01     ` Auger Eric
2017-11-07 21:01     ` Auger Eric
2017-11-08 12:05     ` Marc Zyngier
2017-11-08 12:05       ` Marc Zyngier
2017-11-08 12:05       ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 14/26] KVM: arm/arm64: GICv4: Handle CLEAR applied to a VLPI Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:04   ` Auger Eric
2017-11-07 21:04     ` Auger Eric
2017-11-07 21:04     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 15/26] KVM: arm/arm64: GICv4: Handle MOVALL applied to a vPE Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:06   ` Auger Eric
2017-11-07 21:06     ` Auger Eric
2017-11-07 21:06     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 16/26] KVM: arm/arm64: GICv4: Propagate property updates to VLPIs Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:28   ` Auger Eric
2017-11-07 21:28     ` Auger Eric
2017-11-07 21:28     ` Auger Eric
2017-11-08 15:08     ` Marc Zyngier
2017-11-08 15:08       ` Marc Zyngier
2017-11-08 15:08       ` Marc Zyngier
2017-11-10  8:37       ` Christoffer Dall
2017-11-10  8:37         ` Christoffer Dall
2017-11-10  8:37         ` Christoffer Dall
2017-11-10  8:58         ` Marc Zyngier
2017-11-10  8:58           ` Marc Zyngier
2017-11-10  8:58           ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 17/26] KVM: arm/arm64: GICv4: Handle INVALL applied to a vPE Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:23   ` Auger Eric
2017-11-07 21:23     ` Auger Eric
2017-11-07 21:23     ` Auger Eric
2017-11-10  8:41     ` Christoffer Dall
2017-11-10  8:41       ` Christoffer Dall
2017-11-10  8:41       ` Christoffer Dall
2017-11-10  8:56       ` Marc Zyngier
2017-11-10  8:56         ` Marc Zyngier
2017-11-10  8:56         ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 18/26] KVM: arm/arm64: GICv4: Use pending_last as a scheduling hint Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:38   ` Auger Eric
2017-11-07 21:38     ` Auger Eric
2017-11-07 21:38     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 19/26] KVM: arm/arm64: GICv4: Add doorbell interrupt handling Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:43   ` Auger Eric
2017-11-07 21:43     ` Auger Eric
2017-11-07 21:43     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 20/26] KVM: arm/arm64: GICv4: Use the doorbell interrupt as an unblocking source Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:45   ` Auger Eric
2017-11-07 21:45     ` Auger Eric
2017-11-07 21:45     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 21/26] KVM: arm/arm64: GICv4: Hook vPE scheduling into vgic flush/sync Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 21:54   ` Auger Eric
2017-11-07 21:54     ` Auger Eric
2017-11-07 21:54     ` Auger Eric
2017-11-07 22:14     ` Auger Eric
2017-11-07 22:14       ` Auger Eric
2017-11-07 22:14       ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 22/26] KVM: arm/arm64: GICv4: Enable virtual cpuif if VLPIs can be delivered Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-08  8:46   ` Auger Eric
2017-11-08  8:46     ` Auger Eric
2017-11-08  8:46     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 23/26] KVM: arm/arm64: GICv4: Prevent a VM using GICv4 from being saved Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-07 15:24   ` Auger Eric
2017-11-07 15:24     ` Auger Eric
2017-11-07 15:24     ` Auger Eric
2017-11-07 15:38     ` Marc Zyngier
2017-11-07 15:38       ` Marc Zyngier
2017-11-07 15:38       ` Marc Zyngier
2017-11-07 16:12       ` Auger Eric
2017-11-07 16:12         ` Auger Eric
2017-11-07 16:12         ` Auger Eric
2017-11-07 16:34         ` Marc Zyngier
2017-11-07 16:34           ` Marc Zyngier
2017-11-07 16:34           ` Marc Zyngier
2017-11-07 22:24           ` Auger Eric
2017-11-07 22:24             ` Auger Eric
2017-11-07 22:24             ` Auger Eric
2017-11-08  9:35             ` Auger Eric
2017-11-08  9:35               ` Auger Eric
2017-11-08  9:35               ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 24/26] KVM: arm/arm64: GICv4: Prevent userspace from changing doorbell affinity Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-30  6:51   ` Christoffer Dall
2017-10-30  6:51     ` Christoffer Dall
2017-10-30  6:51     ` Christoffer Dall
2017-11-07 22:17   ` Auger Eric
2017-11-07 22:17     ` Auger Eric
2017-11-07 22:17     ` Auger Eric
2017-10-27 14:28 ` [PATCH v5 25/26] KVM: arm/arm64: GICv4: Enable VLPI support Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-08  8:44   ` Auger Eric
2017-11-08  8:44     ` Auger Eric
2017-11-08  8:44     ` Auger Eric
2017-11-08 15:14     ` Marc Zyngier
2017-11-08 15:14       ` Marc Zyngier
2017-11-08 15:14       ` Marc Zyngier
2017-10-27 14:28 ` [PATCH v5 26/26] KVM: arm/arm64: GICv4: Theory of operations Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-10-27 14:28   ` Marc Zyngier
2017-11-08  9:13   ` Auger Eric
2017-11-08  9:13     ` Auger Eric
2017-11-08  9:13     ` Auger Eric
2017-11-08 15:19     ` Marc Zyngier
2017-11-08 15:19       ` Marc Zyngier
2017-11-08 15:19       ` 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=20171030064633.GM2166@lvm \
    --to=cdall@linaro.org \
    --cc=Andre.Przywara@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=eric.auger@redhat.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=mark.rutland@arm.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=shankerd@codeaurora.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.