target/arm/cpu64: max cpu: Support sve properties with KVM
commit6fa8a37949d912bb463caa0c139ff0ca88c6ec33
authorAndrew Jones <drjones@redhat.com>
Thu, 31 Oct 2019 14:27:33 +0000 (31 15:27 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 1 Nov 2019 20:40:59 +0000 (1 20:40 +0000)
tree4997a693b0d50948a64a572e02296b4124741896
parent0cdb4020b34b455fb9ef1e6283407d952cb02e63
target/arm/cpu64: max cpu: Support sve properties with KVM

Extend the SVE vq map initialization and validation with KVM's
supported vector lengths when KVM is enabled. In order to determine
and select supported lengths we add two new KVM functions for getting
and setting the KVM_REG_ARM64_SVE_VLS pseudo-register.

This patch has been co-authored with Richard Henderson, who reworked
the target/arm/cpu64.c changes in order to push all the validation and
auto-enabling/disabling steps into the finalizer, resulting in a nice
LOC reduction.

Signed-off-by: Andrew Jones <drjones@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Message-id: 20191031142734.8590-9-drjones@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
docs/arm-cpu-features.rst
target/arm/cpu64.c
target/arm/kvm64.c
target/arm/kvm_arm.h
tests/arm-cpu-features.c