On Thu, 5 Oct 2017, Andi Kleen wrote: > +/* > + * Table of CPUID features that depend on others. > + * > + * This only includes dependencies that can be usefully disabled, not > + * features part of the base set (like FPU). > + */ > +const static struct cpuid_dep cpuid_deps[] = { > + { X86_FEATURE_XSAVEOPT, X86_FEATURE_XSAVE }, > + { X86_FEATURE_XSAVEC, X86_FEATURE_XSAVE }, > + { X86_FEATURE_XSAVES, X86_FEATURE_XSAVE }, > + { X86_FEATURE_AVX, X86_FEATURE_XSAVE }, > + { X86_FEATURE_AVX512F, X86_FEATURE_XSAVE },
This looks redundant. AVX512F depends on AVX which itself depends on XSAVE. > + { X86_FEATURE_PKU, X86_FEATURE_XSAVE }, > + { X86_FEATURE_MPX, X86_FEATURE_XSAVE }, > + { X86_FEATURE_XGETBV1, X86_FEATURE_XSAVE }, > + { X86_FEATURE_XMM2, X86_FEATURE_XMM }, XMM has no dependency? Thanks, tglx