Re: [PATCH 1/6] x86: KVM: Enable CMPccXADD CPUID and expose it to guest

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux