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.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Reviewed-by: Daniel P. Berrangé <berra...@redhat.com>
Reviewed-by: Zhao Liu <zhao1....@intel.com>
---
target/i386/cpu.h | 1 -
target/i386/cpu.c | 3 +--
2 files changed, 1 insertion(+), 3 deletions(-)
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
index 4f8ed8868e9..0db70a70439 100644
--- a/target/i386/cpu.h
+++ b/target/i386/cpu.h
@@ -2164,7 +2164,6 @@ struct ArchCPU {
uint8_t hyperv_ver_id_sb;
uint32_t hyperv_ver_id_sn;
- bool check_cpuid;
bool enforce_cpuid;
/*
* Force features to be enabled even if the host doesn't support them.
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index 1ca6307c72e..cd4361b4227 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -8174,7 +8174,7 @@ static void x86_cpu_realizefn(DeviceState *dev, Error
**errp)
}
}
- if (x86_cpu_filter_features(cpu, cpu->check_cpuid || cpu->enforce_cpuid)) {
+ if (x86_cpu_filter_features(cpu, cpu->enforce_cpuid)) {
if (cpu->enforce_cpuid) {
error_setg(&local_err,
accel_uses_host_cpuid() ?
@@ -8813,7 +8813,6 @@ static const Property x86_cpu_properties[] = {
DEFINE_PROP_UINT8("hv-version-id-sbranch", X86CPU, hyperv_ver_id_sb, 0),
DEFINE_PROP_UINT32("hv-version-id-snumber", X86CPU, hyperv_ver_id_sn, 0),
- DEFINE_PROP_BOOL("check", X86CPU, check_cpuid, true),
DEFINE_PROP_BOOL("enforce", X86CPU, enforce_cpuid, false),
DEFINE_PROP_BOOL("x-force-features", X86CPU, force_features, false),
DEFINE_PROP_BOOL("kvm", X86CPU, expose_kvm, true),