On 8/11/20 9:49 AM, Andrew Jones wrote: > Yes, except you need to drop the ARM_FEATURE_SPE define and use the ID > register bit instead like "sve_supported" does.
On a related note, I think we have a latent bug, or at least a mis-feature: sve_supported = ioctl(fdarray[0], KVM_CHECK_EXTENSION, KVM_CAP_ARM_SVE) > 0; ... /* Add feature bits that can't appear until after VCPU init. */ if (sve_supported) { t = ahcf->isar.id_aa64pfr0; t = FIELD_DP64(t, ID_AA64PFR0, SVE, 1); ahcf->isar.id_aa64pfr0 = t; } Should it in fact be if (!sve_supported) { t = ahcf->isar.id_aa64pfr0; t = FIELD_DP64(t, ID_AA64PFR0, SVE, 0); ahcf->isar.id_aa64pfr0 = t; } ? Forcing the value to 1 here is going to be wrong the moment we have an SVE2 enabled cpu. Similarly, SPE has more than one "enabled" value for PMSVer. r~