All of lore.kernel.org
 help / color / mirror / Atom feed
From: Auger Eric <eric.auger@redhat.com>
To: Andre Przywara <andre.przywara@arm.com>,
	Christoffer Dall <christoffer.dall@linaro.org>
Cc: kvm@vger.kernel.org, Prasun.Kapoor@cavium.com,
	marc.zyngier@arm.com, quintela@redhat.com, dgilbert@redhat.com,
	Vijaya.Kumar@cavium.com, vijayak@caviumnetworks.com,
	pbonzini@redhat.com, kvmarm@lists.cs.columbia.edu,
	linux-arm-kernel@lists.infradead.org, eric.auger.pro@gmail.com
Subject: Re: [PATCH v5 03/22] KVM: arm/arm64: vgic-its: rename itte into ite
Date: Thu, 27 Apr 2017 11:40:16 +0200	[thread overview]
Message-ID: <82b7eb70-1705-8fc5-7ec1-12ba58418389@redhat.com> (raw)
In-Reply-To: <c32b8369-711c-1a1a-b3c1-bba2408ff003@arm.com>

Hi Christoffer, Andre,

On 27/04/2017 11:20, Andre Przywara wrote:
> Hi,
> 
> On 27/04/17 10:05, Christoffer Dall wrote:
>> On Fri, Apr 14, 2017 at 12:15:15PM +0200, Eric Auger wrote:
>>> The actual abbreviation for the interrupt translation table entry
>>> is ITE. Let's rename all itte instances by ite.
>>
>> Is there really any confusion or problems with using itte?  This is a
>> lot of churn...
> 
> I tend to agree (just didn't dare to mention this before).
> I see that the spec speaks of "ITE", but the spelled out term hints more
> at ITTE (because it's a "translation table").
> Besides three letters tend to be more ambiguous than a four letter
> identifier.
> 
> Would adding a comment to the structure definition help?
> 
> But speaking of churn I am not sure how much more work dropping this
> patch now creates on Eric's side ...

I addressed one comment from Marc saying that ITTE was a wrong name and
he had a patch ready to rename them.

see https://patchwork.kernel.org/patch/9513491/

Renaming back would largely impact the other patches I am afraid

Thanks

Eric
> 
> Cheers,
> Andre.
> 
>>>
>>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>>> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
>>>
>>> ---
>>>
>>> v5: Add Marc's A-b
>>> ---
>>>  virt/kvm/arm/vgic/vgic-its.c | 148 +++++++++++++++++++++----------------------
>>>  1 file changed, 74 insertions(+), 74 deletions(-)
>>>
>>> diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c
>>> index 8d1da1a..3ffcbbe 100644
>>> --- a/virt/kvm/arm/vgic/vgic-its.c
>>> +++ b/virt/kvm/arm/vgic/vgic-its.c
>>> @@ -114,8 +114,8 @@ struct its_collection {
>>>  #define its_is_collection_mapped(coll) ((coll) && \
>>>  				((coll)->target_addr != COLLECTION_NOT_MAPPED))
>>>  
>>> -struct its_itte {
>>> -	struct list_head itte_list;
>>> +struct its_ite {
>>> +	struct list_head ite_list;
>>>  
>>>  	struct vgic_irq *irq;
>>>  	struct its_collection *collection;
>>> @@ -143,27 +143,27 @@ static struct its_device *find_its_device(struct vgic_its *its, u32 device_id)
>>>   * Device ID/Event ID pair on an ITS.
>>>   * Must be called with the its_lock mutex held.
>>>   */
>>> -static struct its_itte *find_itte(struct vgic_its *its, u32 device_id,
>>> +static struct its_ite *find_ite(struct vgic_its *its, u32 device_id,
>>>  				  u32 event_id)
>>>  {
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	device = find_its_device(its, device_id);
>>>  	if (device == NULL)
>>>  		return NULL;
>>>  
>>> -	list_for_each_entry(itte, &device->itt_head, itte_list)
>>> -		if (itte->event_id == event_id)
>>> -			return itte;
>>> +	list_for_each_entry(ite, &device->itt_head, ite_list)
>>> +		if (ite->event_id == event_id)
>>> +			return ite;
>>>  
>>>  	return NULL;
>>>  }
>>>  
>>>  /* To be used as an iterator this macro misses the enclosing parentheses */
>>> -#define for_each_lpi_its(dev, itte, its) \
>>> +#define for_each_lpi_its(dev, ite, its) \
>>>  	list_for_each_entry(dev, &(its)->device_list, dev_list) \
>>> -		list_for_each_entry(itte, &(dev)->itt_head, itte_list)
>>> +		list_for_each_entry(ite, &(dev)->itt_head, ite_list)
>>>  
>>>  /*
>>>   * We only implement 48 bits of PA at the moment, although the ITS
>>> @@ -270,18 +270,18 @@ static int vgic_copy_lpi_list(struct kvm *kvm, u32 **intid_ptr)
>>>   * Needs to be called whenever either the collection for a LPIs has
>>>   * changed or the collection itself got retargeted.
>>>   */
>>> -static void update_affinity_itte(struct kvm *kvm, struct its_itte *itte)
>>> +static void update_affinity_ite(struct kvm *kvm, struct its_ite *ite)
>>>  {
>>>  	struct kvm_vcpu *vcpu;
>>>  
>>> -	if (!its_is_collection_mapped(itte->collection))
>>> +	if (!its_is_collection_mapped(ite->collection))
>>>  		return;
>>>  
>>> -	vcpu = kvm_get_vcpu(kvm, itte->collection->target_addr);
>>> +	vcpu = kvm_get_vcpu(kvm, ite->collection->target_addr);
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->target_vcpu = vcpu;
>>> -	spin_unlock(&itte->irq->irq_lock);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->target_vcpu = vcpu;
>>> +	spin_unlock(&ite->irq->irq_lock);
>>>  }
>>>  
>>>  /*
>>> @@ -292,13 +292,13 @@ static void update_affinity_collection(struct kvm *kvm, struct vgic_its *its,
>>>  				       struct its_collection *coll)
>>>  {
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>> -	for_each_lpi_its(device, itte, its) {
>>> -		if (!itte->collection || coll != itte->collection)
>>> +	for_each_lpi_its(device, ite, its) {
>>> +		if (!ite->collection || coll != ite->collection)
>>>  			continue;
>>>  
>>> -		update_affinity_itte(kvm, itte);
>>> +		update_affinity_ite(kvm, ite);
>>>  	}
>>>  }
>>>  
>>> @@ -425,25 +425,25 @@ static int vgic_its_trigger_msi(struct kvm *kvm, struct vgic_its *its,
>>>  				u32 devid, u32 eventid)
>>>  {
>>>  	struct kvm_vcpu *vcpu;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	if (!its->enabled)
>>>  		return -EBUSY;
>>>  
>>> -	itte = find_itte(its, devid, eventid);
>>> -	if (!itte || !its_is_collection_mapped(itte->collection))
>>> +	ite = find_ite(its, devid, eventid);
>>> +	if (!ite || !its_is_collection_mapped(ite->collection))
>>>  		return E_ITS_INT_UNMAPPED_INTERRUPT;
>>>  
>>> -	vcpu = kvm_get_vcpu(kvm, itte->collection->target_addr);
>>> +	vcpu = kvm_get_vcpu(kvm, ite->collection->target_addr);
>>>  	if (!vcpu)
>>>  		return E_ITS_INT_UNMAPPED_INTERRUPT;
>>>  
>>>  	if (!vcpu->arch.vgic_cpu.lpis_enabled)
>>>  		return -EBUSY;
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->pending_latch = true;
>>> -	vgic_queue_irq_unlock(kvm, itte->irq);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->pending_latch = true;
>>> +	vgic_queue_irq_unlock(kvm, ite->irq);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -511,15 +511,15 @@ int vgic_its_inject_msi(struct kvm *kvm, struct kvm_msi *msi)
>>>  }
>>>  
>>>  /* Requires the its_lock to be held. */
>>> -static void its_free_itte(struct kvm *kvm, struct its_itte *itte)
>>> +static void its_free_ite(struct kvm *kvm, struct its_ite *ite)
>>>  {
>>> -	list_del(&itte->itte_list);
>>> +	list_del(&ite->ite_list);
>>>  
>>>  	/* This put matches the get in vgic_add_lpi. */
>>> -	if (itte->irq)
>>> -		vgic_put_irq(kvm, itte->irq);
>>> +	if (ite->irq)
>>> +		vgic_put_irq(kvm, ite->irq);
>>>  
>>> -	kfree(itte);
>>> +	kfree(ite);
>>>  }
>>>  
>>>  static u64 its_cmd_mask_field(u64 *its_cmd, int word, int shift, int size)
>>> @@ -544,17 +544,17 @@ static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (itte && itte->collection) {
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (ite && ite->collection) {
>>>  		/*
>>>  		 * Though the spec talks about removing the pending state, we
>>>  		 * don't bother here since we clear the ITTE anyway and the
>>>  		 * pending state is a property of the ITTE struct.
>>>  		 */
>>> -		its_free_itte(kvm, itte);
>>> +		its_free_ite(kvm, ite);
>>>  		return 0;
>>>  	}
>>>  
>>> @@ -572,26 +572,26 @@ static int vgic_its_cmd_handle_movi(struct kvm *kvm, struct vgic_its *its,
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>>  	u32 coll_id = its_cmd_get_collection(its_cmd);
>>>  	struct kvm_vcpu *vcpu;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct its_collection *collection;
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_MOVI_UNMAPPED_INTERRUPT;
>>>  
>>> -	if (!its_is_collection_mapped(itte->collection))
>>> +	if (!its_is_collection_mapped(ite->collection))
>>>  		return E_ITS_MOVI_UNMAPPED_COLLECTION;
>>>  
>>>  	collection = find_collection(its, coll_id);
>>>  	if (!its_is_collection_mapped(collection))
>>>  		return E_ITS_MOVI_UNMAPPED_COLLECTION;
>>>  
>>> -	itte->collection = collection;
>>> +	ite->collection = collection;
>>>  	vcpu = kvm_get_vcpu(kvm, collection->target_addr);
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->target_vcpu = vcpu;
>>> -	spin_unlock(&itte->irq->irq_lock);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->target_vcpu = vcpu;
>>> +	spin_unlock(&ite->irq->irq_lock);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -679,7 +679,7 @@ static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
>>>  {
>>>  	struct its_collection *collection;
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	/*
>>>  	 * Clearing the mapping for that collection ID removes the
>>> @@ -690,10 +690,10 @@ static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
>>>  	if (!collection)
>>>  		return;
>>>  
>>> -	for_each_lpi_its(device, itte, its)
>>> -		if (itte->collection &&
>>> -		    itte->collection->collection_id == coll_id)
>>> -			itte->collection = NULL;
>>> +	for_each_lpi_its(device, ite, its)
>>> +		if (ite->collection &&
>>> +		    ite->collection->collection_id == coll_id)
>>> +			ite->collection = NULL;
>>>  
>>>  	list_del(&collection->coll_list);
>>>  	kfree(collection);
>>> @@ -709,7 +709,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>>  	u32 coll_id = its_cmd_get_collection(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct its_device *device;
>>>  	struct its_collection *collection, *new_coll = NULL;
>>>  	int lpi_nr;
>>> @@ -728,7 +728,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  		return E_ITS_MAPTI_PHYSICALID_OOR;
>>>  
>>>  	/* If there is an existing mapping, behavior is UNPREDICTABLE. */
>>> -	if (find_itte(its, device_id, event_id))
>>> +	if (find_ite(its, device_id, event_id))
>>>  		return 0;
>>>  
>>>  	collection = find_collection(its, coll_id);
>>> @@ -739,36 +739,36 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  		new_coll = collection;
>>>  	}
>>>  
>>> -	itte = kzalloc(sizeof(struct its_itte), GFP_KERNEL);
>>> -	if (!itte) {
>>> +	ite = kzalloc(sizeof(struct its_ite), GFP_KERNEL);
>>> +	if (!ite) {
>>>  		if (new_coll)
>>>  			vgic_its_free_collection(its, coll_id);
>>>  		return -ENOMEM;
>>>  	}
>>>  
>>> -	itte->event_id	= event_id;
>>> -	list_add_tail(&itte->itte_list, &device->itt_head);
>>> +	ite->event_id	= event_id;
>>> +	list_add_tail(&ite->ite_list, &device->itt_head);
>>>  
>>> -	itte->collection = collection;
>>> -	itte->lpi = lpi_nr;
>>> +	ite->collection = collection;
>>> +	ite->lpi = lpi_nr;
>>>  
>>>  	irq = vgic_add_lpi(kvm, lpi_nr);
>>>  	if (IS_ERR(irq)) {
>>>  		if (new_coll)
>>>  			vgic_its_free_collection(its, coll_id);
>>> -		its_free_itte(kvm, itte);
>>> +		its_free_ite(kvm, ite);
>>>  		return PTR_ERR(irq);
>>>  	}
>>> -	itte->irq = irq;
>>> +	ite->irq = irq;
>>>  
>>> -	update_affinity_itte(kvm, itte);
>>> +	update_affinity_ite(kvm, ite);
>>>  
>>>  	/*
>>>  	 * We "cache" the configuration table entries in out struct vgic_irq's.
>>>  	 * However we only have those structs for mapped IRQs, so we read in
>>>  	 * the respective config data from memory here upon mapping the LPI.
>>>  	 */
>>> -	update_lpi_config(kvm, itte->irq, NULL);
>>> +	update_lpi_config(kvm, ite->irq, NULL);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -776,15 +776,15 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  /* Requires the its_lock to be held. */
>>>  static void vgic_its_unmap_device(struct kvm *kvm, struct its_device *device)
>>>  {
>>> -	struct its_itte *itte, *temp;
>>> +	struct its_ite *ite, *temp;
>>>  
>>>  	/*
>>>  	 * The spec says that unmapping a device with still valid
>>>  	 * ITTEs associated is UNPREDICTABLE. We remove all ITTEs,
>>>  	 * since we cannot leave the memory unreferenced.
>>>  	 */
>>> -	list_for_each_entry_safe(itte, temp, &device->itt_head, itte_list)
>>> -		its_free_itte(kvm, itte);
>>> +	list_for_each_entry_safe(ite, temp, &device->itt_head, ite_list)
>>> +		its_free_ite(kvm, ite);
>>>  
>>>  	list_del(&device->dev_list);
>>>  	kfree(device);
>>> @@ -883,14 +883,14 @@ static int vgic_its_cmd_handle_clear(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_CLEAR_UNMAPPED_INTERRUPT;
>>>  
>>> -	itte->irq->pending_latch = false;
>>> +	ite->irq->pending_latch = false;
>>>  
>>>  	return 0;
>>>  }
>>> @@ -904,14 +904,14 @@ static int vgic_its_cmd_handle_inv(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_INV_UNMAPPED_INTERRUPT;
>>>  
>>> -	return update_lpi_config(kvm, itte->irq, NULL);
>>> +	return update_lpi_config(kvm, ite->irq, NULL);
>>>  }
>>>  
>>>  /*
>>> @@ -1435,7 +1435,7 @@ static void vgic_its_destroy(struct kvm_device *kvm_dev)
>>>  	struct kvm *kvm = kvm_dev->kvm;
>>>  	struct vgic_its *its = kvm_dev->private;
>>>  	struct its_device *dev;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct list_head *dev_cur, *dev_temp;
>>>  	struct list_head *cur, *temp;
>>>  
>>> @@ -1450,8 +1450,8 @@ static void vgic_its_destroy(struct kvm_device *kvm_dev)
>>>  	list_for_each_safe(dev_cur, dev_temp, &its->device_list) {
>>>  		dev = container_of(dev_cur, struct its_device, dev_list);
>>>  		list_for_each_safe(cur, temp, &dev->itt_head) {
>>> -			itte = (container_of(cur, struct its_itte, itte_list));
>>> -			its_free_itte(kvm, itte);
>>> +			ite = (container_of(cur, struct its_ite, ite_list));
>>> +			its_free_ite(kvm, ite);
>>>  		}
>>>  		list_del(dev_cur);
>>>  		kfree(dev);
>>> -- 
>>> 2.5.5
>>>

WARNING: multiple messages have this Message-ID (diff)
From: eric.auger@redhat.com (Auger Eric)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 03/22] KVM: arm/arm64: vgic-its: rename itte into ite
Date: Thu, 27 Apr 2017 11:40:16 +0200	[thread overview]
Message-ID: <82b7eb70-1705-8fc5-7ec1-12ba58418389@redhat.com> (raw)
In-Reply-To: <c32b8369-711c-1a1a-b3c1-bba2408ff003@arm.com>

Hi Christoffer, Andre,

On 27/04/2017 11:20, Andre Przywara wrote:
> Hi,
> 
> On 27/04/17 10:05, Christoffer Dall wrote:
>> On Fri, Apr 14, 2017 at 12:15:15PM +0200, Eric Auger wrote:
>>> The actual abbreviation for the interrupt translation table entry
>>> is ITE. Let's rename all itte instances by ite.
>>
>> Is there really any confusion or problems with using itte?  This is a
>> lot of churn...
> 
> I tend to agree (just didn't dare to mention this before).
> I see that the spec speaks of "ITE", but the spelled out term hints more
> at ITTE (because it's a "translation table").
> Besides three letters tend to be more ambiguous than a four letter
> identifier.
> 
> Would adding a comment to the structure definition help?
> 
> But speaking of churn I am not sure how much more work dropping this
> patch now creates on Eric's side ...

I addressed one comment from Marc saying that ITTE was a wrong name and
he had a patch ready to rename them.

see https://patchwork.kernel.org/patch/9513491/

Renaming back would largely impact the other patches I am afraid

Thanks

Eric
> 
> Cheers,
> Andre.
> 
>>>
>>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
>>> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
>>>
>>> ---
>>>
>>> v5: Add Marc's A-b
>>> ---
>>>  virt/kvm/arm/vgic/vgic-its.c | 148 +++++++++++++++++++++----------------------
>>>  1 file changed, 74 insertions(+), 74 deletions(-)
>>>
>>> diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c
>>> index 8d1da1a..3ffcbbe 100644
>>> --- a/virt/kvm/arm/vgic/vgic-its.c
>>> +++ b/virt/kvm/arm/vgic/vgic-its.c
>>> @@ -114,8 +114,8 @@ struct its_collection {
>>>  #define its_is_collection_mapped(coll) ((coll) && \
>>>  				((coll)->target_addr != COLLECTION_NOT_MAPPED))
>>>  
>>> -struct its_itte {
>>> -	struct list_head itte_list;
>>> +struct its_ite {
>>> +	struct list_head ite_list;
>>>  
>>>  	struct vgic_irq *irq;
>>>  	struct its_collection *collection;
>>> @@ -143,27 +143,27 @@ static struct its_device *find_its_device(struct vgic_its *its, u32 device_id)
>>>   * Device ID/Event ID pair on an ITS.
>>>   * Must be called with the its_lock mutex held.
>>>   */
>>> -static struct its_itte *find_itte(struct vgic_its *its, u32 device_id,
>>> +static struct its_ite *find_ite(struct vgic_its *its, u32 device_id,
>>>  				  u32 event_id)
>>>  {
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	device = find_its_device(its, device_id);
>>>  	if (device == NULL)
>>>  		return NULL;
>>>  
>>> -	list_for_each_entry(itte, &device->itt_head, itte_list)
>>> -		if (itte->event_id == event_id)
>>> -			return itte;
>>> +	list_for_each_entry(ite, &device->itt_head, ite_list)
>>> +		if (ite->event_id == event_id)
>>> +			return ite;
>>>  
>>>  	return NULL;
>>>  }
>>>  
>>>  /* To be used as an iterator this macro misses the enclosing parentheses */
>>> -#define for_each_lpi_its(dev, itte, its) \
>>> +#define for_each_lpi_its(dev, ite, its) \
>>>  	list_for_each_entry(dev, &(its)->device_list, dev_list) \
>>> -		list_for_each_entry(itte, &(dev)->itt_head, itte_list)
>>> +		list_for_each_entry(ite, &(dev)->itt_head, ite_list)
>>>  
>>>  /*
>>>   * We only implement 48 bits of PA at the moment, although the ITS
>>> @@ -270,18 +270,18 @@ static int vgic_copy_lpi_list(struct kvm *kvm, u32 **intid_ptr)
>>>   * Needs to be called whenever either the collection for a LPIs has
>>>   * changed or the collection itself got retargeted.
>>>   */
>>> -static void update_affinity_itte(struct kvm *kvm, struct its_itte *itte)
>>> +static void update_affinity_ite(struct kvm *kvm, struct its_ite *ite)
>>>  {
>>>  	struct kvm_vcpu *vcpu;
>>>  
>>> -	if (!its_is_collection_mapped(itte->collection))
>>> +	if (!its_is_collection_mapped(ite->collection))
>>>  		return;
>>>  
>>> -	vcpu = kvm_get_vcpu(kvm, itte->collection->target_addr);
>>> +	vcpu = kvm_get_vcpu(kvm, ite->collection->target_addr);
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->target_vcpu = vcpu;
>>> -	spin_unlock(&itte->irq->irq_lock);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->target_vcpu = vcpu;
>>> +	spin_unlock(&ite->irq->irq_lock);
>>>  }
>>>  
>>>  /*
>>> @@ -292,13 +292,13 @@ static void update_affinity_collection(struct kvm *kvm, struct vgic_its *its,
>>>  				       struct its_collection *coll)
>>>  {
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>> -	for_each_lpi_its(device, itte, its) {
>>> -		if (!itte->collection || coll != itte->collection)
>>> +	for_each_lpi_its(device, ite, its) {
>>> +		if (!ite->collection || coll != ite->collection)
>>>  			continue;
>>>  
>>> -		update_affinity_itte(kvm, itte);
>>> +		update_affinity_ite(kvm, ite);
>>>  	}
>>>  }
>>>  
>>> @@ -425,25 +425,25 @@ static int vgic_its_trigger_msi(struct kvm *kvm, struct vgic_its *its,
>>>  				u32 devid, u32 eventid)
>>>  {
>>>  	struct kvm_vcpu *vcpu;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	if (!its->enabled)
>>>  		return -EBUSY;
>>>  
>>> -	itte = find_itte(its, devid, eventid);
>>> -	if (!itte || !its_is_collection_mapped(itte->collection))
>>> +	ite = find_ite(its, devid, eventid);
>>> +	if (!ite || !its_is_collection_mapped(ite->collection))
>>>  		return E_ITS_INT_UNMAPPED_INTERRUPT;
>>>  
>>> -	vcpu = kvm_get_vcpu(kvm, itte->collection->target_addr);
>>> +	vcpu = kvm_get_vcpu(kvm, ite->collection->target_addr);
>>>  	if (!vcpu)
>>>  		return E_ITS_INT_UNMAPPED_INTERRUPT;
>>>  
>>>  	if (!vcpu->arch.vgic_cpu.lpis_enabled)
>>>  		return -EBUSY;
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->pending_latch = true;
>>> -	vgic_queue_irq_unlock(kvm, itte->irq);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->pending_latch = true;
>>> +	vgic_queue_irq_unlock(kvm, ite->irq);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -511,15 +511,15 @@ int vgic_its_inject_msi(struct kvm *kvm, struct kvm_msi *msi)
>>>  }
>>>  
>>>  /* Requires the its_lock to be held. */
>>> -static void its_free_itte(struct kvm *kvm, struct its_itte *itte)
>>> +static void its_free_ite(struct kvm *kvm, struct its_ite *ite)
>>>  {
>>> -	list_del(&itte->itte_list);
>>> +	list_del(&ite->ite_list);
>>>  
>>>  	/* This put matches the get in vgic_add_lpi. */
>>> -	if (itte->irq)
>>> -		vgic_put_irq(kvm, itte->irq);
>>> +	if (ite->irq)
>>> +		vgic_put_irq(kvm, ite->irq);
>>>  
>>> -	kfree(itte);
>>> +	kfree(ite);
>>>  }
>>>  
>>>  static u64 its_cmd_mask_field(u64 *its_cmd, int word, int shift, int size)
>>> @@ -544,17 +544,17 @@ static int vgic_its_cmd_handle_discard(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (itte && itte->collection) {
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (ite && ite->collection) {
>>>  		/*
>>>  		 * Though the spec talks about removing the pending state, we
>>>  		 * don't bother here since we clear the ITTE anyway and the
>>>  		 * pending state is a property of the ITTE struct.
>>>  		 */
>>> -		its_free_itte(kvm, itte);
>>> +		its_free_ite(kvm, ite);
>>>  		return 0;
>>>  	}
>>>  
>>> @@ -572,26 +572,26 @@ static int vgic_its_cmd_handle_movi(struct kvm *kvm, struct vgic_its *its,
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>>  	u32 coll_id = its_cmd_get_collection(its_cmd);
>>>  	struct kvm_vcpu *vcpu;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct its_collection *collection;
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_MOVI_UNMAPPED_INTERRUPT;
>>>  
>>> -	if (!its_is_collection_mapped(itte->collection))
>>> +	if (!its_is_collection_mapped(ite->collection))
>>>  		return E_ITS_MOVI_UNMAPPED_COLLECTION;
>>>  
>>>  	collection = find_collection(its, coll_id);
>>>  	if (!its_is_collection_mapped(collection))
>>>  		return E_ITS_MOVI_UNMAPPED_COLLECTION;
>>>  
>>> -	itte->collection = collection;
>>> +	ite->collection = collection;
>>>  	vcpu = kvm_get_vcpu(kvm, collection->target_addr);
>>>  
>>> -	spin_lock(&itte->irq->irq_lock);
>>> -	itte->irq->target_vcpu = vcpu;
>>> -	spin_unlock(&itte->irq->irq_lock);
>>> +	spin_lock(&ite->irq->irq_lock);
>>> +	ite->irq->target_vcpu = vcpu;
>>> +	spin_unlock(&ite->irq->irq_lock);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -679,7 +679,7 @@ static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
>>>  {
>>>  	struct its_collection *collection;
>>>  	struct its_device *device;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  	/*
>>>  	 * Clearing the mapping for that collection ID removes the
>>> @@ -690,10 +690,10 @@ static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
>>>  	if (!collection)
>>>  		return;
>>>  
>>> -	for_each_lpi_its(device, itte, its)
>>> -		if (itte->collection &&
>>> -		    itte->collection->collection_id == coll_id)
>>> -			itte->collection = NULL;
>>> +	for_each_lpi_its(device, ite, its)
>>> +		if (ite->collection &&
>>> +		    ite->collection->collection_id == coll_id)
>>> +			ite->collection = NULL;
>>>  
>>>  	list_del(&collection->coll_list);
>>>  	kfree(collection);
>>> @@ -709,7 +709,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>>  	u32 coll_id = its_cmd_get_collection(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct its_device *device;
>>>  	struct its_collection *collection, *new_coll = NULL;
>>>  	int lpi_nr;
>>> @@ -728,7 +728,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  		return E_ITS_MAPTI_PHYSICALID_OOR;
>>>  
>>>  	/* If there is an existing mapping, behavior is UNPREDICTABLE. */
>>> -	if (find_itte(its, device_id, event_id))
>>> +	if (find_ite(its, device_id, event_id))
>>>  		return 0;
>>>  
>>>  	collection = find_collection(its, coll_id);
>>> @@ -739,36 +739,36 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  		new_coll = collection;
>>>  	}
>>>  
>>> -	itte = kzalloc(sizeof(struct its_itte), GFP_KERNEL);
>>> -	if (!itte) {
>>> +	ite = kzalloc(sizeof(struct its_ite), GFP_KERNEL);
>>> +	if (!ite) {
>>>  		if (new_coll)
>>>  			vgic_its_free_collection(its, coll_id);
>>>  		return -ENOMEM;
>>>  	}
>>>  
>>> -	itte->event_id	= event_id;
>>> -	list_add_tail(&itte->itte_list, &device->itt_head);
>>> +	ite->event_id	= event_id;
>>> +	list_add_tail(&ite->ite_list, &device->itt_head);
>>>  
>>> -	itte->collection = collection;
>>> -	itte->lpi = lpi_nr;
>>> +	ite->collection = collection;
>>> +	ite->lpi = lpi_nr;
>>>  
>>>  	irq = vgic_add_lpi(kvm, lpi_nr);
>>>  	if (IS_ERR(irq)) {
>>>  		if (new_coll)
>>>  			vgic_its_free_collection(its, coll_id);
>>> -		its_free_itte(kvm, itte);
>>> +		its_free_ite(kvm, ite);
>>>  		return PTR_ERR(irq);
>>>  	}
>>> -	itte->irq = irq;
>>> +	ite->irq = irq;
>>>  
>>> -	update_affinity_itte(kvm, itte);
>>> +	update_affinity_ite(kvm, ite);
>>>  
>>>  	/*
>>>  	 * We "cache" the configuration table entries in out struct vgic_irq's.
>>>  	 * However we only have those structs for mapped IRQs, so we read in
>>>  	 * the respective config data from memory here upon mapping the LPI.
>>>  	 */
>>> -	update_lpi_config(kvm, itte->irq, NULL);
>>> +	update_lpi_config(kvm, ite->irq, NULL);
>>>  
>>>  	return 0;
>>>  }
>>> @@ -776,15 +776,15 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
>>>  /* Requires the its_lock to be held. */
>>>  static void vgic_its_unmap_device(struct kvm *kvm, struct its_device *device)
>>>  {
>>> -	struct its_itte *itte, *temp;
>>> +	struct its_ite *ite, *temp;
>>>  
>>>  	/*
>>>  	 * The spec says that unmapping a device with still valid
>>>  	 * ITTEs associated is UNPREDICTABLE. We remove all ITTEs,
>>>  	 * since we cannot leave the memory unreferenced.
>>>  	 */
>>> -	list_for_each_entry_safe(itte, temp, &device->itt_head, itte_list)
>>> -		its_free_itte(kvm, itte);
>>> +	list_for_each_entry_safe(ite, temp, &device->itt_head, ite_list)
>>> +		its_free_ite(kvm, ite);
>>>  
>>>  	list_del(&device->dev_list);
>>>  	kfree(device);
>>> @@ -883,14 +883,14 @@ static int vgic_its_cmd_handle_clear(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_CLEAR_UNMAPPED_INTERRUPT;
>>>  
>>> -	itte->irq->pending_latch = false;
>>> +	ite->irq->pending_latch = false;
>>>  
>>>  	return 0;
>>>  }
>>> @@ -904,14 +904,14 @@ static int vgic_its_cmd_handle_inv(struct kvm *kvm, struct vgic_its *its,
>>>  {
>>>  	u32 device_id = its_cmd_get_deviceid(its_cmd);
>>>  	u32 event_id = its_cmd_get_id(its_cmd);
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  
>>>  
>>> -	itte = find_itte(its, device_id, event_id);
>>> -	if (!itte)
>>> +	ite = find_ite(its, device_id, event_id);
>>> +	if (!ite)
>>>  		return E_ITS_INV_UNMAPPED_INTERRUPT;
>>>  
>>> -	return update_lpi_config(kvm, itte->irq, NULL);
>>> +	return update_lpi_config(kvm, ite->irq, NULL);
>>>  }
>>>  
>>>  /*
>>> @@ -1435,7 +1435,7 @@ static void vgic_its_destroy(struct kvm_device *kvm_dev)
>>>  	struct kvm *kvm = kvm_dev->kvm;
>>>  	struct vgic_its *its = kvm_dev->private;
>>>  	struct its_device *dev;
>>> -	struct its_itte *itte;
>>> +	struct its_ite *ite;
>>>  	struct list_head *dev_cur, *dev_temp;
>>>  	struct list_head *cur, *temp;
>>>  
>>> @@ -1450,8 +1450,8 @@ static void vgic_its_destroy(struct kvm_device *kvm_dev)
>>>  	list_for_each_safe(dev_cur, dev_temp, &its->device_list) {
>>>  		dev = container_of(dev_cur, struct its_device, dev_list);
>>>  		list_for_each_safe(cur, temp, &dev->itt_head) {
>>> -			itte = (container_of(cur, struct its_itte, itte_list));
>>> -			its_free_itte(kvm, itte);
>>> +			ite = (container_of(cur, struct its_ite, ite_list));
>>> +			its_free_ite(kvm, ite);
>>>  		}
>>>  		list_del(dev_cur);
>>>  		kfree(dev);
>>> -- 
>>> 2.5.5
>>>

  reply	other threads:[~2017-04-27  9:40 UTC|newest]

Thread overview: 264+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-14 10:15 [PATCH v5 00/22] vITS save/restore Eric Auger
2017-04-14 10:15 ` Eric Auger
2017-04-14 10:15 ` [PATCH v5 01/22] KVM: arm/arm64: Add ITS save/restore API documentation Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-25 10:38   ` Peter Maydell
2017-04-25 10:38     ` Peter Maydell
2017-04-26 12:31   ` Christoffer Dall
2017-04-26 12:31     ` Christoffer Dall
2017-04-26 15:48     ` Auger Eric
2017-04-26 15:48       ` Auger Eric
2017-04-27  8:57       ` Christoffer Dall
2017-04-27  8:57         ` Christoffer Dall
2017-04-27  9:33         ` Auger Eric
2017-04-27  9:33           ` Auger Eric
2017-04-27 11:02           ` Christoffer Dall
2017-04-27 11:02             ` Christoffer Dall
2017-04-27 12:51             ` Auger Eric
2017-04-27 12:51               ` Auger Eric
2017-04-27 14:45               ` Christoffer Dall
2017-04-27 14:45                 ` Christoffer Dall
2017-04-27 15:29                 ` Auger Eric
2017-04-27 15:29                   ` Auger Eric
2017-04-27 16:23                   ` Marc Zyngier
2017-04-27 16:23                     ` Marc Zyngier
2017-04-27 17:14                     ` Auger Eric
2017-04-27 17:14                       ` Auger Eric
2017-04-27 17:27                       ` Christoffer Dall
2017-04-27 17:27                         ` Christoffer Dall
2017-04-27 16:38                   ` Christoffer Dall
2017-04-27 16:38                     ` Christoffer Dall
2017-04-27 17:27                     ` Auger Eric
2017-04-27 17:27                       ` Auger Eric
2017-04-27 17:54                       ` Christoffer Dall
2017-04-27 17:54                         ` Christoffer Dall
2017-04-27 19:27                         ` Auger Eric
2017-04-27 19:27                           ` Auger Eric
2017-05-04  7:00                 ` Auger Eric
2017-05-04  7:00                   ` Auger Eric
2017-05-04  7:40                   ` Marc Zyngier
2017-05-04  7:40                     ` Marc Zyngier
2017-05-04  7:54                     ` Auger Eric
2017-05-04  7:54                       ` Auger Eric
2017-05-04  7:46                   ` Christoffer Dall
2017-05-04  7:46                     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 02/22] KVM: arm/arm64: Add GICV3 pending table save " Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-25 10:43   ` Peter Maydell
2017-04-25 10:43     ` Peter Maydell
2017-04-26  8:26     ` Auger Eric
2017-04-26  8:26       ` Auger Eric
2017-04-26  8:44       ` Peter Maydell
2017-04-26  8:44         ` Peter Maydell
2017-04-26  8:48         ` Dr. David Alan Gilbert
2017-04-26  8:48           ` Dr. David Alan Gilbert
2017-04-26  9:57           ` Auger Eric
2017-04-26  9:57             ` Auger Eric
2017-04-26 13:00             ` Christoffer Dall
2017-04-26 13:00               ` Christoffer Dall
2017-04-26 13:01               ` Peter Maydell
2017-04-26 13:01                 ` Peter Maydell
2017-04-26 13:14                 ` Christoffer Dall
2017-04-26 13:14                   ` Christoffer Dall
2017-04-26 13:26                   ` Peter Maydell
2017-04-26 13:26                     ` Peter Maydell
2017-04-26 14:47                     ` Auger Eric
2017-04-26 14:47                       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 03/22] KVM: arm/arm64: vgic-its: rename itte into ite Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:21   ` Prakash B
2017-04-26 11:21     ` Prakash B
2017-04-27  9:05   ` Christoffer Dall
2017-04-27  9:05     ` Christoffer Dall
2017-04-27  9:20     ` Andre Przywara
2017-04-27  9:20       ` Andre Przywara
2017-04-27  9:40       ` Auger Eric [this message]
2017-04-27  9:40         ` Auger Eric
2017-04-27 11:09         ` Christoffer Dall
2017-04-27 11:09           ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 04/22] arm/arm64: vgic: turn vgic_find_mmio_region into public Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:22   ` Prakash B
2017-04-26 11:22     ` Prakash B
2017-04-27  9:07   ` Christoffer Dall
2017-04-27  9:07     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 05/22] KVM: arm64: vgic-its: KVM_DEV_ARM_VGIC_GRP_ITS_REGS group Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:23   ` Prakash B
2017-04-26 11:23     ` Prakash B
2017-04-27  9:12   ` Christoffer Dall
2017-04-27  9:12     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 06/22] KVM: arm/arm64: vgic: expose (un)lock_all_vcpus Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:23   ` Prakash B
2017-04-26 11:23     ` Prakash B
2017-04-27  9:18   ` Christoffer Dall
2017-04-27  9:18     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 07/22] KVM: arm64: vgic-its: Implement vgic_its_has_attr_regs and attr_regs_access Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:24   ` Prakash B
2017-04-26 11:24     ` Prakash B
2017-04-27 11:00   ` Christoffer Dall
2017-04-27 11:00     ` Christoffer Dall
2017-04-27 12:22     ` Auger Eric
2017-04-27 12:22       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 08/22] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_creadr Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:24   ` Prakash B
2017-04-26 11:24     ` Prakash B
2017-04-27 11:27   ` Christoffer Dall
2017-04-27 11:27     ` Christoffer Dall
2017-04-27 12:53     ` Auger Eric
2017-04-27 12:53       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 09/22] KVM: arm64: vgic-its: Introduce migration ABI infrastructure Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:27   ` Prakash B
2017-04-26 11:27     ` Prakash B
2017-04-27 13:14   ` Christoffer Dall
2017-04-27 13:14     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 10/22] KVM: arm64: vgic-its: Implement vgic_mmio_uaccess_write_its_iidr Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:27   ` Prakash B
2017-04-26 11:27     ` Prakash B
2017-04-27 14:57   ` Christoffer Dall
2017-04-27 14:57     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 11/22] KVM: arm64: vgic-its: Interpret MAPD Size field and check related errors Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:28   ` Prakash B
2017-04-26 11:28     ` Prakash B
2017-04-27 16:25   ` Christoffer Dall
2017-04-27 16:25     ` Christoffer Dall
2017-04-27 17:15     ` Auger Eric
2017-04-27 17:15       ` Auger Eric
2017-04-27 17:28       ` Christoffer Dall
2017-04-27 17:28         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 12/22] KVM: arm64: vgic-its: Interpret MAPD ITT_addr field Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:29   ` Prakash B
2017-04-26 11:29     ` Prakash B
2017-04-27 16:43   ` Christoffer Dall
2017-04-27 16:43     ` Christoffer Dall
2017-04-27 17:44     ` Auger Eric
2017-04-27 17:44       ` Auger Eric
2017-04-27 18:09       ` Christoffer Dall
2017-04-27 18:09         ` Christoffer Dall
2017-04-27 19:18         ` Auger Eric
2017-04-27 19:18           ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 13/22] KVM: arm64: vgic-its: Check the device id matches TYPER DEVBITS range Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:29   ` Prakash B
2017-04-26 11:29     ` Prakash B
2017-04-27 16:48   ` Christoffer Dall
2017-04-27 16:48     ` Christoffer Dall
2017-04-27 17:24     ` Auger Eric
2017-04-27 17:24       ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 14/22] KVM: arm64: vgic-its: KVM_DEV_ARM_ITS_SAVE/RESTORE_TABLES Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:31   ` Prakash B
2017-04-26 11:31     ` Prakash B
2017-04-27 17:24   ` Christoffer Dall
2017-04-27 17:24     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 15/22] KVM: arm64: vgic-its: vgic_its_alloc_ite/device Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:31   ` Prakash B
2017-04-26 11:31     ` Prakash B
2017-04-27 17:31   ` Christoffer Dall
2017-04-27 17:31     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 16/22] KVM: arm64: vgic-its: Add infrastructure for table lookup Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:32   ` Prakash B
2017-04-26 11:32     ` Prakash B
2017-04-27 18:06   ` Christoffer Dall
2017-04-27 18:06     ` Christoffer Dall
2017-04-27 19:24     ` Auger Eric
2017-04-27 19:24       ` Auger Eric
2017-04-28  9:47       ` Christoffer Dall
2017-04-28  9:47         ` Christoffer Dall
2017-04-30 19:33   ` Christoffer Dall
2017-04-30 19:33     ` Christoffer Dall
2017-05-03 13:40     ` Auger Eric
2017-05-03 13:40       ` Auger Eric
2017-05-03 14:38       ` Christoffer Dall
2017-05-03 14:38         ` Christoffer Dall
2017-04-30 19:35   ` Christoffer Dall
2017-04-30 19:35     ` Christoffer Dall
2017-05-03  6:53     ` Auger Eric
2017-05-03  6:53       ` Auger Eric
2017-05-03  8:01       ` Christoffer Dall
2017-05-03  8:01         ` Christoffer Dall
2017-05-03 10:22         ` Auger Eric
2017-05-03 10:22           ` Auger Eric
2017-04-30 20:13   ` Christoffer Dall
2017-04-30 20:13     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 17/22] KVM: arm64: vgic-its: Collection table save/restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:33   ` Prakash B
2017-04-26 11:33     ` Prakash B
2017-04-28 10:44   ` Christoffer Dall
2017-04-28 10:44     ` Christoffer Dall
2017-04-28 11:05     ` Auger Eric
2017-04-28 11:05       ` Auger Eric
2017-04-28 17:42       ` Christoffer Dall
2017-04-28 17:42         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 18/22] KVM: arm64: vgic-its: vgic_its_check_id returns the entry's GPA Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:33   ` Prakash B
2017-04-26 11:33     ` Prakash B
2017-05-02  8:29   ` Christoffer Dall
2017-05-02  8:29     ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 19/22] KVM: arm64: vgic-its: ITT save and restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:34   ` Prakash B
2017-04-26 11:34     ` Prakash B
2017-04-30 20:14   ` Christoffer Dall
2017-04-30 20:14     ` Christoffer Dall
2017-05-03 16:08     ` Auger Eric
2017-05-03 16:08       ` Auger Eric
2017-05-03 16:37       ` Christoffer Dall
2017-05-03 16:37         ` Christoffer Dall
2017-05-03 21:55         ` Auger Eric
2017-05-03 21:55           ` Auger Eric
2017-05-04  7:31           ` Christoffer Dall
2017-05-04  7:31             ` Christoffer Dall
2017-05-04  7:40             ` Auger Eric
2017-05-04  7:40               ` Auger Eric
2017-05-04  8:23               ` Christoffer Dall
2017-05-04  8:23                 ` Christoffer Dall
2017-05-04  8:44                 ` Auger Eric
2017-05-04  8:44                   ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 20/22] KVM: arm64: vgic-its: Device table save/restore Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:34   ` Prakash B
2017-04-26 11:34     ` Prakash B
2017-04-30 20:55   ` Christoffer Dall
2017-04-30 20:55     ` Christoffer Dall
2017-05-03 14:07     ` Auger Eric
2017-05-03 14:07       ` Auger Eric
2017-05-03 15:29       ` Christoffer Dall
2017-05-03 15:29         ` Christoffer Dall
2017-05-03 21:38         ` Auger Eric
2017-05-03 21:38           ` Auger Eric
2017-04-14 10:15 ` [PATCH v5 21/22] KVM: arm64: vgic-its: Fix pending table sync Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:35   ` Prakash B
2017-04-26 11:35     ` Prakash B
2017-04-30 21:10   ` Christoffer Dall
2017-04-30 21:10     ` Christoffer Dall
2017-05-03 22:20     ` Auger Eric
2017-05-03 22:20       ` Auger Eric
2017-05-04  7:32       ` Christoffer Dall
2017-05-04  7:32         ` Christoffer Dall
2017-04-14 10:15 ` [PATCH v5 22/22] KVM: arm64: vgic-v3: KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES Eric Auger
2017-04-14 10:15   ` Eric Auger
2017-04-26 11:35   ` Prakash B
2017-04-26 11:35     ` Prakash B
2017-04-30 21:32   ` Christoffer Dall
2017-04-30 21:32     ` Christoffer Dall
2017-05-03 22:22     ` Auger Eric
2017-05-03 22:22       ` Auger Eric
2017-04-26 11:38 ` [PATCH v5 00/22] vITS save/restore Prakash B
2017-04-26 11:38   ` Prakash B
2017-04-26 13:02   ` Christoffer Dall
2017-04-26 13:02     ` Christoffer Dall
2017-04-27  6:55   ` Auger Eric
2017-04-27  6:55     ` 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=82b7eb70-1705-8fc5-7ec1-12ba58418389@redhat.com \
    --to=eric.auger@redhat.com \
    --cc=Prasun.Kapoor@cavium.com \
    --cc=Vijaya.Kumar@cavium.com \
    --cc=andre.przywara@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=dgilbert@redhat.com \
    --cc=eric.auger.pro@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=pbonzini@redhat.com \
    --cc=quintela@redhat.com \
    --cc=vijayak@caviumnetworks.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.