Message ID | 20240305134221.30924-18-philmd@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | hw/i386: Remove deprecated pc-i440fx-2.0 -> 2.3 machines | expand |
On 05/03/2024 14.42, Philippe Mathieu-Daudé wrote: > X86CPU::kvm_no_smi_migration was only used by the > pc-i440fx-2.3 machine, which got removed. Remove it > and simplify kvm_put_vcpu_events(). > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > target/i386/cpu.h | 3 --- > target/i386/cpu.c | 2 -- > target/i386/kvm/kvm.c | 6 ------ > 3 files changed, 11 deletions(-) > > diff --git a/target/i386/cpu.h b/target/i386/cpu.h > index 952174bb6f..bdc640e844 100644 > --- a/target/i386/cpu.h > +++ b/target/i386/cpu.h > @@ -2018,9 +2018,6 @@ struct ArchCPU { > /* if set, limit maximum value for phys_bits when host_phys_bits is true */ > uint8_t host_phys_bits_limit; > > - /* Stop SMI delivery for migration compatibility with old machines */ > - bool kvm_no_smi_migration; > - > /* Forcefully disable KVM PV features not exposed in guest CPUIDs */ > bool kvm_pv_enforce_cpuid; > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index 2666ef3808..0e3ad8db2b 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -7905,8 +7905,6 @@ static Property x86_cpu_properties[] = { > DEFINE_PROP_BOOL("x-vendor-cpuid-only", X86CPU, vendor_cpuid_only, true), > DEFINE_PROP_BOOL("lmce", X86CPU, enable_lmce, false), > DEFINE_PROP_BOOL("l3-cache", X86CPU, enable_l3_cache, true), > - DEFINE_PROP_BOOL("kvm-no-smi-migration", X86CPU, kvm_no_smi_migration, > - false), > DEFINE_PROP_BOOL("kvm-pv-enforce-cpuid", X86CPU, kvm_pv_enforce_cpuid, > false), > DEFINE_PROP_BOOL("vmware-cpuid-freq", X86CPU, vmware_cpuid_freq, true), > diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c > index 42970ab046..571cbbf1fc 100644 > --- a/target/i386/kvm/kvm.c > +++ b/target/i386/kvm/kvm.c > @@ -4344,12 +4344,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level) > events.smi.pending = 0; > events.smi.latched_init = 0; > } > - /* Stop SMI delivery on old machine types to avoid a reboot > - * on an inward migration of an old VM. > - */ > - if (!cpu->kvm_no_smi_migration) { > - events.flags |= KVM_VCPUEVENT_VALID_SMM; > - } Shouldn't it be the other way round, i.e. that the flag is now always set? pc_compat_2_3[] had: { TYPE_X86_CPU, "kvm-no-smi-migration", "on" }, ... so I think kvm_no_smi_migration was set to true for the old machines? Thomas
On 6/3/24 19:30, Thomas Huth wrote: > On 05/03/2024 14.42, Philippe Mathieu-Daudé wrote: >> X86CPU::kvm_no_smi_migration was only used by the >> pc-i440fx-2.3 machine, which got removed. Remove it >> and simplify kvm_put_vcpu_events(). >> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> >> --- >> target/i386/cpu.h | 3 --- >> target/i386/cpu.c | 2 -- >> target/i386/kvm/kvm.c | 6 ------ >> 3 files changed, 11 deletions(-) >> diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c >> index 42970ab046..571cbbf1fc 100644 >> --- a/target/i386/kvm/kvm.c >> +++ b/target/i386/kvm/kvm.c >> @@ -4344,12 +4344,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int >> level) >> events.smi.pending = 0; >> events.smi.latched_init = 0; >> } >> - /* Stop SMI delivery on old machine types to avoid a reboot >> - * on an inward migration of an old VM. >> - */ >> - if (!cpu->kvm_no_smi_migration) { >> - events.flags |= KVM_VCPUEVENT_VALID_SMM; >> - } > > Shouldn't it be the other way round, i.e. that the flag is now always set? Oops you are right, good catch! > > pc_compat_2_3[] had: > > { TYPE_X86_CPU, "kvm-no-smi-migration", "on" }, > > ... so I think kvm_no_smi_migration was set to true for the old machines? > > Thomas >
diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 952174bb6f..bdc640e844 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -2018,9 +2018,6 @@ struct ArchCPU { /* if set, limit maximum value for phys_bits when host_phys_bits is true */ uint8_t host_phys_bits_limit; - /* Stop SMI delivery for migration compatibility with old machines */ - bool kvm_no_smi_migration; - /* Forcefully disable KVM PV features not exposed in guest CPUIDs */ bool kvm_pv_enforce_cpuid; diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 2666ef3808..0e3ad8db2b 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -7905,8 +7905,6 @@ static Property x86_cpu_properties[] = { DEFINE_PROP_BOOL("x-vendor-cpuid-only", X86CPU, vendor_cpuid_only, true), DEFINE_PROP_BOOL("lmce", X86CPU, enable_lmce, false), DEFINE_PROP_BOOL("l3-cache", X86CPU, enable_l3_cache, true), - DEFINE_PROP_BOOL("kvm-no-smi-migration", X86CPU, kvm_no_smi_migration, - false), DEFINE_PROP_BOOL("kvm-pv-enforce-cpuid", X86CPU, kvm_pv_enforce_cpuid, false), DEFINE_PROP_BOOL("vmware-cpuid-freq", X86CPU, vmware_cpuid_freq, true), diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 42970ab046..571cbbf1fc 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -4344,12 +4344,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level) events.smi.pending = 0; events.smi.latched_init = 0; } - /* Stop SMI delivery on old machine types to avoid a reboot - * on an inward migration of an old VM. - */ - if (!cpu->kvm_no_smi_migration) { - events.flags |= KVM_VCPUEVENT_VALID_SMM; - } } if (level >= KVM_PUT_RESET_STATE) {
X86CPU::kvm_no_smi_migration was only used by the pc-i440fx-2.3 machine, which got removed. Remove it and simplify kvm_put_vcpu_events(). Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- target/i386/cpu.h | 3 --- target/i386/cpu.c | 2 -- target/i386/kvm/kvm.c | 6 ------ 3 files changed, 11 deletions(-)