i386: do not migrate MSR_SMI_COUNT on machine types <2.12
MSR_SMI_COUNT started being migrated in QEMU 2.12. Do not migrate it on older machine types, or the subsection causes a load failure for guests that use SMM. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
6d9dd5fb9d
commit
990e0be260
@ -317,6 +317,10 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *);
|
||||
#define PC_COMPAT_2_11 \
|
||||
HW_COMPAT_2_11 \
|
||||
{\
|
||||
.driver = TYPE_X86_CPU,\
|
||||
.property = "x-migrate-smi-count",\
|
||||
.value = "off",\
|
||||
},{\
|
||||
.driver = "Skylake-Server" "-" TYPE_X86_CPU,\
|
||||
.property = "clflushopt",\
|
||||
.value = "off",\
|
||||
|
@ -5435,6 +5435,8 @@ static Property x86_cpu_properties[] = {
|
||||
false),
|
||||
DEFINE_PROP_BOOL("vmware-cpuid-freq", X86CPU, vmware_cpuid_freq, true),
|
||||
DEFINE_PROP_BOOL("tcg-cpuid", X86CPU, expose_tcg, true),
|
||||
DEFINE_PROP_BOOL("x-migrate-smi-count", X86CPU, migrate_smi_count,
|
||||
true),
|
||||
/*
|
||||
* lecacy_cache defaults to true unless the CPU model provides its
|
||||
* own cache information (see x86_cpu_load_def()).
|
||||
|
@ -1379,6 +1379,7 @@ struct X86CPU {
|
||||
bool expose_kvm;
|
||||
bool expose_tcg;
|
||||
bool migratable;
|
||||
bool migrate_smi_count;
|
||||
bool max_features; /* Enable all supported features automatically */
|
||||
uint32_t apic_id;
|
||||
|
||||
|
@ -400,7 +400,7 @@ static bool msr_smi_count_needed(void *opaque)
|
||||
X86CPU *cpu = opaque;
|
||||
CPUX86State *env = &cpu->env;
|
||||
|
||||
return env->msr_smi_count != 0;
|
||||
return cpu->migrate_smi_count && env->msr_smi_count != 0;
|
||||
}
|
||||
|
||||
static const VMStateDescription vmstate_msr_smi_count = {
|
||||
|
Loading…
Reference in New Issue
Block a user