On 6/26/2025 4:31 PM, Zhao Liu wrote: > From: Manish Mishra <manish.mis...@nutanix.com> > > Add a "x-force-cpuid-0x1f" property so that CPU models can enable it and > have 0x1f CPUID leaf natually as the Host CPU. > > The advantage is that when the CPU model's cache model is already > consistent with the Host CPU, for example, SRF defaults to l2 per > module & l3 per package, 0x1f can better help users identify the > topology in the VM. > > Adding 0x1f for specific CPU models should not cause any trouble in > principle. This property is only enabled for CPU models that already > have 0x1f leaf on the Host, so software that originally runs normally on > the Host won't encounter issues in the Guest with corresponding CPU > model. Conversely, some software that relies on checking 0x1f might > have problems in the Guest due to the lack of 0x1f [*]. In > summary, adding 0x1f is also intended to further emulate the Host CPU > environment. > > [*]: > https://lore.kernel.org/qemu-devel/ph0pr02mb738410511bf51b12db09be6cf6...@ph0pr02mb7384.namprd02.prod.outlook.com/ > > Signed-off-by: Manish Mishra <manish.mis...@nutanix.com> > Co-authored-by: Xiaoyao Li <xiaoyao...@intel.com> > Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com> > [Integrated and rebased 2 previous patches (ordered by post time)] > Signed-off-by: Zhao Liu <zhao1....@intel.com> > --- > Note: > This patch integrates the idea from 2 previous posted patches (ordered > by post time)[1] [2], following the s-o-b policy of "Re-starting > abandoned work" in docs/devel/code-provenance.rst. > > [1]: From Manish: > https://lore.kernel.org/qemu-devel/20240722101859.47408-1-manish.mis...@nutanix.com/ > [2]: From Xiaoyao: > https://lore.kernel.org/qemu-devel/20240813033145.279307-1-xiaoyao...@intel.com/ > --- > Changes since RFC: > * Rebase and rename the property as "x-force-cpuid-0x1f". (Igor) > --- > target/i386/cpu.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index 08c84ba90f52..ee36f7ee2ccc 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -9934,6 +9934,7 @@ static const Property x86_cpu_properties[] = { > DEFINE_PROP_BOOL("x-intel-pt-auto-level", X86CPU, intel_pt_auto_level, > true), > DEFINE_PROP_BOOL("x-l1-cache-per-thread", X86CPU, l1_cache_per_core, > true), > + DEFINE_PROP_BOOL("x-force-cpuid-0x1f", X86CPU, force_cpuid_0x1f, false), > }; > > #ifndef CONFIG_USER_ONLY
LGTM. Reviewed-by: Dapeng Mi <dapeng1...@linux.intel.com>