Message ID | 20220725181457.41083-2-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/arm: Fix kvm probe of ID_AA64ZFR0 | expand |
Hi Richard, On 2022/7/26 2:14, Richard Henderson wrote: > Indication for support for SVE will not depend on whether we > perform the query on the main kvm_state or the temp vcpu. > Mirror kvm_arm_pauth_supported. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/arm/kvm64.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c > index d16d4ea250..36ff20c9e3 100644 > --- a/target/arm/kvm64.c > +++ b/target/arm/kvm64.c > @@ -496,6 +496,11 @@ static bool kvm_arm_pauth_supported(void) > kvm_check_extension(kvm_state, KVM_CAP_ARM_PTRAUTH_GENERIC)); > } > > +static bool kvm_arm_svm_supported(void) > +{ > + return kvm_check_extension(kvm_state, KVM_CAP_ARM_SVE); > +} > + Not sure if it's a typo. Maybe we should instead use kvm_arm_sve_supported() which was introduced in commit 14e99e0fbbc6. Zenghui
On 7/25/22 19:02, Zenghui Yu wrote: > Hi Richard, > > On 2022/7/26 2:14, Richard Henderson wrote: >> Indication for support for SVE will not depend on whether we >> perform the query on the main kvm_state or the temp vcpu. >> Mirror kvm_arm_pauth_supported. >> >> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> >> --- >> target/arm/kvm64.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c >> index d16d4ea250..36ff20c9e3 100644 >> --- a/target/arm/kvm64.c >> +++ b/target/arm/kvm64.c >> @@ -496,6 +496,11 @@ static bool kvm_arm_pauth_supported(void) >> kvm_check_extension(kvm_state, KVM_CAP_ARM_PTRAUTH_GENERIC)); >> } >> >> +static bool kvm_arm_svm_supported(void) >> +{ >> + return kvm_check_extension(kvm_state, KVM_CAP_ARM_SVE); >> +} >> + > > Not sure if it's a typo. Maybe we should instead use > kvm_arm_sve_supported() which was introduced in commit 14e99e0fbbc6. Oof, it certainly is. r~
diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c index d16d4ea250..36ff20c9e3 100644 --- a/target/arm/kvm64.c +++ b/target/arm/kvm64.c @@ -496,6 +496,11 @@ static bool kvm_arm_pauth_supported(void) kvm_check_extension(kvm_state, KVM_CAP_ARM_PTRAUTH_GENERIC)); } +static bool kvm_arm_svm_supported(void) +{ + return kvm_check_extension(kvm_state, KVM_CAP_ARM_SVE); +} + bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) { /* Identify the feature bits corresponding to the host CPU, and @@ -675,7 +680,7 @@ bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) } } - sve_supported = ioctl(fdarray[0], KVM_CHECK_EXTENSION, KVM_CAP_ARM_SVE) > 0; + sve_supported = kvm_arm_svm_supported(); /* Add feature bits that can't appear until after VCPU init. */ if (sve_supported) {
Indication for support for SVE will not depend on whether we perform the query on the main kvm_state or the temp vcpu. Mirror kvm_arm_pauth_supported. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/arm/kvm64.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)