On Tue, Nov 01, 2022, Jiaxi Chen wrote: > > > On 10/27/2022 1:15 AM, Borislav Petkov wrote: > > On Wed, Oct 26, 2022 at 11:40:31AM +0800, Jiaxi Chen wrote: > >>> What do you think about moving CPUID_7_1_EAX to be a KVM-only leaf too? AFAICT, > >>> KVM passthrough is the only reason the existing features are defined. > > > > Yap, looking at the patches which added those 2 feature flags upstream, > > they don't look like some particular use was the goal but rather to > > expose it to guests. Besides, AVX512 apps do their own CPUID detection. > > > >> Since CPUID_7_1_EAX has only 5 features now, it is a big waste, > >> should we move it to KVM-only leaf as Sean suggested. What's your > >> opinion about this? > > > > Yes, pls do. > > > > And when you do, make sure to undo what > > > > b302e4b176d0 ("x86/cpufeatures: Enumerate the new AVX512 BFLOAT16 instructions") > > > > added. > > > > Thx. > > > Hi Sean and Boris, > > Just realized moving CPUID_7_1_EAX to kvm-only leaf will not save space > in enum cpuid_leafs[]. CPUID_7_1_EAX is indeed removed, but someone > else, ie. CPUID_DUMMY needs to take the place, otherwise the cpuid_leafs > array would be deranged. Therefore, the length of x86 cpuid leaves is > not decreased. The order of "enum cpuid_leafs" is completely arbitrary. After replacing CPUID_7_1_EAX with CPUID_DUMMY, replace CPUID_DUMMY with the last leaf, which is currently CPUID_8000_001F_EAX, and update the #defines accordingly. Alternatively, Boris may prefer skipping the intermediate CPUID_DUMMY step and just replace CPUID_7_1_EAX with CPUID_8000_001F_EAX straightaway.