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 <drjo...@redhat.com> > > Reviewed-by: Philippe Mathieu-Daudé <phi...@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.hender...@linaro.org> > Thanks, drew