On Wed, May 28, 2025 at 10:09:56AM +0800, Xiaoyao Li wrote: > Date: Wed, 28 May 2025 10:09:56 +0800 > From: Xiaoyao Li <xiaoyao...@intel.com> > Subject: Re: [PATCH v4 04/19] target/i386/cpu: Remove X86CPU::check_cpuid > field > > On 5/12/2025 4:39 PM, Philippe Mathieu-Daudé wrote: > > The X86CPU::check_cpuid boolean was only set in the > > pc_compat_2_4[] array, via the 'check=off' property. > > We removed all machines using that array, lets remove > > that CPU property and simplify x86_cpu_realizefn(). > > No. > > We cannot do this. Because it changes the behavior of QEMU. > > 'check_cpuid' is true by default while 'enforce_cpuid' is false. So that > QEMU emits warnings in x86_cpu_filter_features() by default when user > requests unsupported CPU features. If remove "check" property and the > internal 'check_cpuid', QEMU will not do it unless user sets enforce_cpuid > explicitly.
One option would be to have x86_cpu_filter_features() unconditionally turn on verbose and print warnings, but some people might want to turn off these warning prints, I don't know if anyone would, but it would be possible. The other option is still to keep the “check” property. IMO, the latter option is the better way to reduce Philippe's burden. Regards, Zhao