[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 3/4] target/arm/cpu64: Replace kvm_supported with sve_vq_s
From: |
Andrew Jones |
Subject: |
Re: [PATCH v2 3/4] target/arm/cpu64: Replace kvm_supported with sve_vq_supported |
Date: |
Tue, 24 Aug 2021 08:28:55 +0200 |
On Mon, Aug 23, 2021 at 10:53:48AM -0700, Richard Henderson wrote:
> On 8/23/21 9:06 AM, Andrew Jones wrote:
> > Now that we have an ARMCPU member sve_vq_supported we no longer
> > need the local kvm_supported bitmap for KVM's supported vector
> > lengths.
> >
> > Signed-off-by: Andrew Jones <drjones@redhat.com>
> > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > target/arm/cpu64.c | 19 +++++++++++--------
> > 1 file changed, 11 insertions(+), 8 deletions(-)
> >
> > diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
> > index eb9318c83b74..557fd4757740 100644
> > --- a/target/arm/cpu64.c
> > +++ b/target/arm/cpu64.c
> > @@ -265,14 +265,17 @@ void arm_cpu_sve_finalize(ARMCPU *cpu, Error **errp)
> > * any of the above. Finally, if SVE is not disabled, then at least
> > one
> > * vector length must be enabled.
> > */
> > - DECLARE_BITMAP(kvm_supported, ARM_MAX_VQ);
> > DECLARE_BITMAP(tmp, ARM_MAX_VQ);
> > uint32_t vq, max_vq = 0;
> > - /* Collect the set of vector lengths supported by KVM. */
> > - bitmap_zero(kvm_supported, ARM_MAX_VQ);
> > + /*
> > + * CPU models specify a set of supported vector lengths which are
> > + * enabled by default. Attempting to enable any vector length not set
> > + * in the supported bitmap results in an error. When KVM is enabled we
> > + * fetch the supported bitmap from the host.
> > + */
> > if (kvm_enabled() && kvm_arm_sve_supported()) {
> > - kvm_arm_sve_get_vls(CPU(cpu), kvm_supported);
> > + kvm_arm_sve_get_vls(CPU(cpu), cpu->sve_vq_supported);
> > } else if (kvm_enabled()) {
> > assert(!cpu_isar_feature(aa64_sve, cpu));
> > }
>
> I think this whole stanza should now be moved into
> kvm_arm_get_host_cpu_features, where we detect sve and fetch
> ID_AA64ZFR0_EL1.
>
> As a separate patch, since this one is simply the variable rename.
Good idea. I'll do that for v3.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
>
Thanks,
drew