target/arm/kvm: Have kvm_arm_sve_set_vls take a ARMCPU argument

Unify the "kvm_arm.h" API: All functions related to ARM vCPUs
take a ARMCPU* argument. Use the CPU() QOM cast macro When
calling the generic vCPU API from "sysemu/kvm.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Message-id: 20231123183518.64569-5-philmd@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2023-12-19 17:57:45 +00:00 committed by Peter Maydell
parent cac675b54e
commit bc1b09b3db
1 changed files with 3 additions and 4 deletions

View File

@ -1855,14 +1855,13 @@ uint32_t kvm_arm_sve_get_vls(CPUState *cs)
return vls[0]; return vls[0];
} }
static int kvm_arm_sve_set_vls(CPUState *cs) static int kvm_arm_sve_set_vls(ARMCPU *cpu)
{ {
ARMCPU *cpu = ARM_CPU(cs);
uint64_t vls[KVM_ARM64_SVE_VLS_WORDS] = { cpu->sve_vq.map }; uint64_t vls[KVM_ARM64_SVE_VLS_WORDS] = { cpu->sve_vq.map };
assert(cpu->sve_max_vq <= KVM_ARM64_SVE_VQ_MAX); assert(cpu->sve_max_vq <= KVM_ARM64_SVE_VQ_MAX);
return kvm_set_one_reg(cs, KVM_REG_ARM64_SVE_VLS, &vls[0]); return kvm_set_one_reg(CPU(cpu), KVM_REG_ARM64_SVE_VLS, &vls[0]);
} }
#define ARM_CPU_ID_MPIDR 3, 0, 0, 0, 5 #define ARM_CPU_ID_MPIDR 3, 0, 0, 0, 5
@ -1919,7 +1918,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
} }
if (cpu_isar_feature(aa64_sve, cpu)) { if (cpu_isar_feature(aa64_sve, cpu)) {
ret = kvm_arm_sve_set_vls(cs); ret = kvm_arm_sve_set_vls(cpu);
if (ret) { if (ret) {
return ret; return ret;
} }