These machines have explicitly been marked as deprecated in QEMU 9.1, so it should be fine to remove these antique versioned machine types two releases later in 10.0. Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx> --- docs/about/deprecated.rst | 7 --- docs/about/removed-features.rst | 4 +- docs/interop/firmware.json | 2 +- hw/i386/pc_piix.c | 95 --------------------------------- qemu-options.hx | 10 ++-- 5 files changed, 8 insertions(+), 110 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 4a3c302962..7b42d6eecc 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -236,13 +236,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name better reflects the way this property affects all random data within the device tree blob, not just the ``kaslr-seed`` node. -``pc-i440fx-2.4`` up to ``pc-i440fx-2.12`` (since 9.1) -'''''''''''''''''''''''''''''''''''''''''''''''''''''' - -These old machine types are quite neglected nowadays and thus might have -various pitfalls with regards to live migration. Use a newer machine type -instead. - PPC 405 ``ref405ep`` machine (since 9.1) '''''''''''''''''''''''''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index c6616ce05e..936846ed7b 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -1006,8 +1006,8 @@ mips ``fulong2e`` machine alias (removed in 6.0) This machine has been renamed ``fuloong2e``. -``pc-0.10`` up to ``pc-i440fx-2.3`` (removed in 4.0 up to 9.0) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' +``pc-0.10`` up to ``pc-i440fx-2.12`` (removed in 4.0 up to 10.0) +'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' These machine types were very old and likely could not be used for live migration from old QEMU versions anymore. Use a newer machine type instead. diff --git a/docs/interop/firmware.json b/docs/interop/firmware.json index 57f55f6c54..f1e74318ff 100644 --- a/docs/interop/firmware.json +++ b/docs/interop/firmware.json @@ -97,7 +97,7 @@ # machine types, not aliases. Glob patterns are understood, # which is especially useful for versioned machine types. # (For example, the glob pattern "pc-i440fx-*" matches -# "pc-i440fx-2.12".) On the QEMU command line, "-machine +# "pc-i440fx-9.1".) On the QEMU command line, "-machine # type=..." specifies the requested machine type (but that # option does not accept glob patterns). # diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 04d2957adc..b821c32b38 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -698,101 +698,6 @@ static void pc_i440fx_machine_3_0_options(MachineClass *m) DEFINE_I440FX_MACHINE(3, 0); -static void pc_i440fx_machine_2_12_options(MachineClass *m) -{ - pc_i440fx_machine_3_0_options(m); - compat_props_add(m->compat_props, hw_compat_2_12, hw_compat_2_12_len); - compat_props_add(m->compat_props, pc_compat_2_12, pc_compat_2_12_len); -} - -DEFINE_I440FX_MACHINE(2, 12); - -static void pc_i440fx_machine_2_11_options(MachineClass *m) -{ - pc_i440fx_machine_2_12_options(m); - compat_props_add(m->compat_props, hw_compat_2_11, hw_compat_2_11_len); - compat_props_add(m->compat_props, pc_compat_2_11, pc_compat_2_11_len); -} - -DEFINE_I440FX_MACHINE(2, 11); - -static void pc_i440fx_machine_2_10_options(MachineClass *m) -{ - pc_i440fx_machine_2_11_options(m); - compat_props_add(m->compat_props, hw_compat_2_10, hw_compat_2_10_len); - compat_props_add(m->compat_props, pc_compat_2_10, pc_compat_2_10_len); - m->auto_enable_numa_with_memhp = false; -} - -DEFINE_I440FX_MACHINE(2, 10); - -static void pc_i440fx_machine_2_9_options(MachineClass *m) -{ - pc_i440fx_machine_2_10_options(m); - compat_props_add(m->compat_props, hw_compat_2_9, hw_compat_2_9_len); - compat_props_add(m->compat_props, pc_compat_2_9, pc_compat_2_9_len); -} - -DEFINE_I440FX_MACHINE(2, 9); - -static void pc_i440fx_machine_2_8_options(MachineClass *m) -{ - pc_i440fx_machine_2_9_options(m); - compat_props_add(m->compat_props, hw_compat_2_8, hw_compat_2_8_len); - compat_props_add(m->compat_props, pc_compat_2_8, pc_compat_2_8_len); -} - -DEFINE_I440FX_MACHINE(2, 8); - -static void pc_i440fx_machine_2_7_options(MachineClass *m) -{ - pc_i440fx_machine_2_8_options(m); - compat_props_add(m->compat_props, hw_compat_2_7, hw_compat_2_7_len); - compat_props_add(m->compat_props, pc_compat_2_7, pc_compat_2_7_len); -} - -DEFINE_I440FX_MACHINE(2, 7); - -static void pc_i440fx_machine_2_6_options(MachineClass *m) -{ - X86MachineClass *x86mc = X86_MACHINE_CLASS(m); - PCMachineClass *pcmc = PC_MACHINE_CLASS(m); - - pc_i440fx_machine_2_7_options(m); - pcmc->legacy_cpu_hotplug = true; - x86mc->fwcfg_dma_enabled = false; - compat_props_add(m->compat_props, hw_compat_2_6, hw_compat_2_6_len); - compat_props_add(m->compat_props, pc_compat_2_6, pc_compat_2_6_len); -} - -DEFINE_I440FX_MACHINE(2, 6); - -static void pc_i440fx_machine_2_5_options(MachineClass *m) -{ - X86MachineClass *x86mc = X86_MACHINE_CLASS(m); - - pc_i440fx_machine_2_6_options(m); - x86mc->save_tsc_khz = false; - m->legacy_fw_cfg_order = 1; - compat_props_add(m->compat_props, hw_compat_2_5, hw_compat_2_5_len); - compat_props_add(m->compat_props, pc_compat_2_5, pc_compat_2_5_len); -} - -DEFINE_I440FX_MACHINE(2, 5); - -static void pc_i440fx_machine_2_4_options(MachineClass *m) -{ - PCMachineClass *pcmc = PC_MACHINE_CLASS(m); - - pc_i440fx_machine_2_5_options(m); - m->hw_version = "2.4.0"; - pcmc->broken_reserved_end = true; - compat_props_add(m->compat_props, hw_compat_2_4, hw_compat_2_4_len); - compat_props_add(m->compat_props, pc_compat_2_4, pc_compat_2_4_len); -} - -DEFINE_I440FX_MACHINE(2, 4); - #ifdef CONFIG_ISAPC static void isapc_machine_options(MachineClass *m) { diff --git a/qemu-options.hx b/qemu-options.hx index 7090d59f6f..a7cc4894f6 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -48,12 +48,12 @@ SRST For architectures which aim to support live migration compatibility across releases, each release will introduce a new versioned machine - type. For example, the 2.8.0 release introduced machine types - "pc-i440fx-2.8" and "pc-q35-2.8" for the x86\_64/i686 architectures. + type. For example, the 9.1.0 release introduced machine types + "pc-i440fx-9.1" and "pc-q35-9.1" for the x86\_64/i686 architectures. - To allow live migration of guests from QEMU version 2.8.0, to QEMU - version 2.9.0, the 2.9.0 version must support the "pc-i440fx-2.8" - and "pc-q35-2.8" machines too. To allow users live migrating VMs to + To allow live migration of guests from QEMU version 9.1.0 to QEMU + version 9.2.0, the 9.2.0 version must support the "pc-i440fx-9.1" + and "pc-q35-9.1" machines too. To allow users live migrating VMs to skip multiple intermediate releases when upgrading, new releases of QEMU will support machine types from many previous versions. -- 2.47.1