All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Eric Auger <eric.auger@redhat.com>
Cc: kvm@vger.kernel.org, shuah@kernel.org,
	linux-kernel@vger.kernel.org, pbonzini@redhat.com,
	kvmarm@lists.cs.columbia.edu, eric.auger.pro@gmail.com
Subject: Re: [PATCH 4/9] KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy()
Date: Mon, 28 Dec 2020 15:41:31 +0000	[thread overview]
Message-ID: <878s9ios44.wl-maz@kernel.org> (raw)
In-Reply-To: <20201212185010.26579-5-eric.auger@redhat.com>

On Sat, 12 Dec 2020 18:50:05 +0000,
Eric Auger <eric.auger@redhat.com> wrote:
> 
> On vgic_dist_destroy(), the addresses are not reset. However for
> kvm selftest purpose this would allow to continue the test execution
> even after a failure when running KVM_RUN. So let's reset the
> base addresses.
> 
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> ---
>  arch/arm64/kvm/vgic/vgic-init.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c
> index 32e32d67a127..6147bed56b1b 100644
> --- a/arch/arm64/kvm/vgic/vgic-init.c
> +++ b/arch/arm64/kvm/vgic/vgic-init.c
> @@ -335,14 +335,16 @@ static void kvm_vgic_dist_destroy(struct kvm *kvm)
>  	kfree(dist->spis);
>  	dist->spis = NULL;
>  	dist->nr_spis = 0;
> +	dist->vgic_dist_base = VGIC_ADDR_UNDEF;
>  
> -	if (kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
> +	if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
>  		list_for_each_entry_safe(rdreg, next, &dist->rd_regions, list) {
>  			list_del(&rdreg->list);
>  			kfree(rdreg);
>  		}
>  		INIT_LIST_HEAD(&dist->rd_regions);
> -	}
> +	} else
> +		kvm->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF;

Since you have converted the hunk above to use dist->, you could do
the same thing here. And the coding style dictates that you need {} on
the else side as well.

>
>  	if (vgic_has_its(kvm))
>  		vgic_lpi_translation_cache_destroy(kvm);
> @@ -362,6 +364,7 @@ void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
>  	vgic_flush_pending_lpis(vcpu);
>  
>  	INIT_LIST_HEAD(&vgic_cpu->ap_list_head);
> +	vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF;
>  }
>  
>  /* To be called with kvm->lock held */
> -- 
> 2.21.3
> 
> 

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Eric Auger <eric.auger@redhat.com>
Cc: eric.auger.pro@gmail.com, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu,
	drjones@redhat.com, alexandru.elisei@arm.com,
	james.morse@arm.com, julien.thierry.kdev@gmail.com,
	suzuki.poulose@arm.com, shuah@kernel.org, pbonzini@redhat.com
Subject: Re: [PATCH 4/9] KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy()
Date: Mon, 28 Dec 2020 15:41:31 +0000	[thread overview]
Message-ID: <878s9ios44.wl-maz@kernel.org> (raw)
In-Reply-To: <20201212185010.26579-5-eric.auger@redhat.com>

On Sat, 12 Dec 2020 18:50:05 +0000,
Eric Auger <eric.auger@redhat.com> wrote:
> 
> On vgic_dist_destroy(), the addresses are not reset. However for
> kvm selftest purpose this would allow to continue the test execution
> even after a failure when running KVM_RUN. So let's reset the
> base addresses.
> 
> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> ---
>  arch/arm64/kvm/vgic/vgic-init.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c
> index 32e32d67a127..6147bed56b1b 100644
> --- a/arch/arm64/kvm/vgic/vgic-init.c
> +++ b/arch/arm64/kvm/vgic/vgic-init.c
> @@ -335,14 +335,16 @@ static void kvm_vgic_dist_destroy(struct kvm *kvm)
>  	kfree(dist->spis);
>  	dist->spis = NULL;
>  	dist->nr_spis = 0;
> +	dist->vgic_dist_base = VGIC_ADDR_UNDEF;
>  
> -	if (kvm->arch.vgic.vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
> +	if (dist->vgic_model == KVM_DEV_TYPE_ARM_VGIC_V3) {
>  		list_for_each_entry_safe(rdreg, next, &dist->rd_regions, list) {
>  			list_del(&rdreg->list);
>  			kfree(rdreg);
>  		}
>  		INIT_LIST_HEAD(&dist->rd_regions);
> -	}
> +	} else
> +		kvm->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF;

Since you have converted the hunk above to use dist->, you could do
the same thing here. And the coding style dictates that you need {} on
the else side as well.

>
>  	if (vgic_has_its(kvm))
>  		vgic_lpi_translation_cache_destroy(kvm);
> @@ -362,6 +364,7 @@ void kvm_vgic_vcpu_destroy(struct kvm_vcpu *vcpu)
>  	vgic_flush_pending_lpis(vcpu);
>  
>  	INIT_LIST_HEAD(&vgic_cpu->ap_list_head);
> +	vgic_cpu->rd_iodev.base_addr = VGIC_ADDR_UNDEF;
>  }
>  
>  /* To be called with kvm->lock held */
> -- 
> 2.21.3
> 
> 

Thanks,

	M.

-- 
Without deviation from the norm, progress is not possible.

  reply	other threads:[~2020-12-28 15:41 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-12 18:50 [PATCH 0/9] KVM/ARM: Some vgic fixes and init sequence KVM selftests Eric Auger
2020-12-12 18:50 ` Eric Auger
2020-12-12 18:50 ` [PATCH 1/9] KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-06 16:32   ` Alexandru Elisei
2021-01-06 16:32     ` Alexandru Elisei
2021-01-14 10:02     ` Auger Eric
2021-01-14 10:02       ` Auger Eric
2020-12-12 18:50 ` [PATCH 2/9] KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-06 17:12   ` Alexandru Elisei
2021-01-06 17:12     ` Alexandru Elisei
2021-01-13 17:18     ` Auger Eric
2021-01-13 17:18       ` Auger Eric
2020-12-12 18:50 ` [PATCH 3/9] KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base() Eric Auger
2020-12-12 18:50   ` Eric Auger
2020-12-28 15:35   ` Marc Zyngier
2020-12-28 15:35     ` Marc Zyngier
2021-01-13 17:18     ` Auger Eric
2021-01-13 17:18       ` Auger Eric
2020-12-12 18:50 ` [PATCH 4/9] KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy() Eric Auger
2020-12-12 18:50   ` Eric Auger
2020-12-28 15:41   ` Marc Zyngier [this message]
2020-12-28 15:41     ` Marc Zyngier
2021-01-13 17:18     ` Auger Eric
2021-01-13 17:18       ` Auger Eric
2020-12-12 18:50 ` [PATCH 5/9] KVM: arm: move has_run_once after the map_resources Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-12 14:55   ` Alexandru Elisei
2021-01-12 14:55     ` Alexandru Elisei
2021-01-14 10:02     ` Auger Eric
2021-01-14 10:02       ` Auger Eric
2021-01-20 15:56       ` Alexandru Elisei
2021-01-20 15:56         ` Alexandru Elisei
2021-03-12 17:27         ` Auger Eric
2021-03-12 17:27           ` Auger Eric
2020-12-12 18:50 ` [PATCH 6/9] docs: kvm: devices/arm-vgic-v3: enhance KVM_DEV_ARM_VGIC_CTRL_INIT doc Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-12 15:39   ` Alexandru Elisei
2021-01-12 15:39     ` Alexandru Elisei
2021-01-13 17:18     ` Auger Eric
2021-01-13 17:18       ` Auger Eric
2020-12-12 18:50 ` [PATCH 7/9] KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write] Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-12 16:04   ` Alexandru Elisei
2021-01-12 16:04     ` Alexandru Elisei
2021-01-12 16:16     ` Alexandru Elisei
2021-01-12 16:16       ` Alexandru Elisei
2021-01-13 17:18       ` Auger Eric
2021-01-13 17:18         ` Auger Eric
2020-12-12 18:50 ` [PATCH 8/9] KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace Eric Auger
2020-12-12 18:50   ` Eric Auger
2021-01-12 17:02   ` Alexandru Elisei
2021-01-12 17:02     ` Alexandru Elisei
2021-01-14 10:16     ` Auger Eric
2021-01-14 10:16       ` Auger Eric
2021-01-20 16:13       ` Alexandru Elisei
2021-01-20 16:13         ` Alexandru Elisei
2021-03-12 17:26         ` Auger Eric
2021-03-12 17:26           ` Auger Eric
2021-01-12 17:28   ` Alexandru Elisei
2021-01-12 17:28     ` Alexandru Elisei
2021-01-12 17:48     ` Marc Zyngier
2021-01-12 17:48       ` Marc Zyngier
2020-12-12 18:50 ` [PATCH 9/9] KVM: selftests: aarch64/vgic-v3 init sequence tests Eric Auger
2020-12-12 18:50   ` Eric Auger

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=878s9ios44.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=eric.auger.pro@gmail.com \
    --cc=eric.auger@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=shuah@kernel.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.