Re: [PATCH v2 1/5] perf/x86/intel/lbr: use setup_clear_cpu_cap instead of clear_cpu_cap

Paolo Bonzini
2022-11-03T13:27:39Z

On 11/2/22 17:23, H. Peter Anvin wrote:
> We have a dependency system for CPUID features. If you are going to
> do this (as opposed to "fixing" this in Qemu or just saying "don't do
> that, it isn't a valid hardware configuration."

I didn't check Robert's full list, but at least in the case of
aesni-intel_glue this is not about AVX2-depends-on-AVX or
AVX-depends-on-XSAVE (and it is not about QEMU at all). It's just that
checking AVX or AVX2 only tells you about presence and is not enough to
say whether the instructions are _usable_. Likewise for AVX512.

What would the dependency be?

Paolo

>
>
> 1. Currently checking XSAVE YMM:
> aria_aesni_avx_glue
> blake2s-glue
> camellia_aesni_avx2_glue camellia_aesni_avx_glue
> cast5_avx_glue cast6_avx_glue
> chacha_glue
> poly1305_glue
> serpent_avx2_glue serpent_avx_glue
> sha1_ssse3_glue sha256_ssse3_glue sha512_ssse3_glue
> sm3_avx_glue
> sm4_aesni_avx2_glue sm4_aesni_avx_glue
> twofish_avx_glue
>
> Currently not checking XSAVE YMM:
> aesni-intel_glue
> curve25519-x86_64
> nhpoly1305-avx2-glue
> polyval-clmulni_glue
>
> 2. Similarly, modules using X86_FEATURE_AVX512F, X86_FEATURE_AVXX512VL
> and/or X86_FEATURE_AVX512BW probably need to check XFEATURE_MASK_AVX512:
>
> Currently checking XSAVE AVX512:
> blake2s-glue
> poly1305_glue
>
> Currently not checking XSAVE AVX512:
> chacha_glue
>
> 3. Similarly, modules using X86_FEATURE_XMM2 probably need to
> check XFEATURE_MASK_SSE:
>
> Currently checking XSAVE SSE:
> aegis128-aesni-glue
>
> Current not checking XSAVE SSE:
> nhpoly1305-sse2_glue
> serpent_sse2_glue
>