[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 83/87] hw/i386: Remove the deprecated machines 0.12 up to 0.15
From: |
Paolo Bonzini |
Subject: |
[PULL 83/87] hw/i386: Remove the deprecated machines 0.12 up to 0.15 |
Date: |
Wed, 18 Dec 2019 13:02:49 +0100 |
From: Thomas Huth <address@hidden>
These machines can't be used reliably for migration anymore, quoting
https://lists.gnu.org/archive/html/qemu-devel/2018-12/msg04516.html :
"
due to the introduction of the memory API, the firmware is not
migrated correctly from source to destination. On QEMU <1.3 the
0xf0000-0xfffff area is basically a copy of the higher
0xffff0000-0xffffffff area, while on more recent versions it is
initialized with zeroes and the firmware copies from 0xffff0000 to
0xf0000. When you migrate from old to new QEMU, after reboot there's
nothing at 0xf0000 and bugs ensue.
"
The pc-0.x machines have been marked as deprecated since QEMU v4.0, so
it is time to remove them now.
And while we're at it, mark the remaining pc-1.x machine types
as deprecated now, too, so that we finally only have "pc-i440fx"
and "pc-q35" machine types left (apart from the non-versioned
"isapc" and "microvm") once we remove them in a couple of releases.
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/i386/pc_piix.c | 85 ++-------------------------------------------------
qemu-deprecated.texi | 2 +-
tests/cpu-plug-test.c | 6 +---
3 files changed, 4 insertions(+), 89 deletions(-)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index b3f0304..721c7aa 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -357,19 +357,13 @@ static void pc_compat_1_3(MachineState *machine)
pc_compat_1_4_fn(machine);
}
-/* PC compat function for pc-0.14 to pc-1.2 */
+/* PC compat function for pc-1.0 to pc-1.2 */
static void pc_compat_1_2(MachineState *machine)
{
pc_compat_1_3(machine);
x86_cpu_change_kvm_default("kvm-pv-eoi", NULL);
}
-/* PC compat function for pc-0.12 and pc-0.13 */
-static void pc_compat_0_13(MachineState *machine)
-{
- pc_compat_1_2(machine);
-}
-
static void pc_init_isa(MachineState *machine)
{
pc_init1(machine, TYPE_I440FX_PCI_HOST_BRIDGE, TYPE_I440FX_PCI_DEVICE);
@@ -745,6 +739,7 @@ static void pc_i440fx_1_3_machine_options(MachineClass *m)
pc_i440fx_1_4_machine_options(m);
m->hw_version = "1.3.0";
+ m->deprecation_reason = "use a newer machine type instead";
x86mc->compat_apic_id_mode = true;
compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
}
@@ -813,82 +808,6 @@ DEFINE_I440FX_MACHINE(v1_0, "pc-1.0", pc_compat_1_2,
pc_i440fx_1_0_machine_options);
-static void pc_i440fx_0_15_machine_options(MachineClass *m)
-{
- static GlobalProperty compat[] = {
- PC_CPU_MODEL_IDS("0.15")
- };
-
- pc_i440fx_1_0_machine_options(m);
- m->hw_version = "0.15";
- m->deprecation_reason = "use a newer machine type instead";
- compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
-}
-
-DEFINE_I440FX_MACHINE(v0_15, "pc-0.15", pc_compat_1_2,
- pc_i440fx_0_15_machine_options);
-
-
-static void pc_i440fx_0_14_machine_options(MachineClass *m)
-{
- static GlobalProperty compat[] = {
- PC_CPU_MODEL_IDS("0.14")
- { "virtio-blk-pci", "event_idx", "off" },
- { "virtio-serial-pci", "event_idx", "off" },
- { "virtio-net-pci", "event_idx", "off" },
- { "virtio-balloon-pci", "event_idx", "off" },
- { "qxl", "revision", "2" },
- { "qxl-vga", "revision", "2" },
- };
-
- pc_i440fx_0_15_machine_options(m);
- m->hw_version = "0.14";
- compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
-}
-
-DEFINE_I440FX_MACHINE(v0_14, "pc-0.14", pc_compat_1_2,
- pc_i440fx_0_14_machine_options);
-
-static void pc_i440fx_0_13_machine_options(MachineClass *m)
-{
- PCMachineClass *pcmc = PC_MACHINE_CLASS(m);
- static GlobalProperty compat[] = {
- PC_CPU_MODEL_IDS("0.13")
- { TYPE_PCI_DEVICE, "command_serr_enable", "off" },
- { "AC97", "use_broken_id", "1" },
- { "virtio-9p-pci", "vectors", "0" },
- { "VGA", "rombar", "0" },
- { "vmware-svga", "rombar", "0" },
- };
-
- pc_i440fx_0_14_machine_options(m);
- m->hw_version = "0.13";
- compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
- pcmc->kvmclock_enabled = false;
-}
-
-DEFINE_I440FX_MACHINE(v0_13, "pc-0.13", pc_compat_0_13,
- pc_i440fx_0_13_machine_options);
-
-static void pc_i440fx_0_12_machine_options(MachineClass *m)
-{
- static GlobalProperty compat[] = {
- PC_CPU_MODEL_IDS("0.12")
- { "virtio-serial-pci", "max_ports", "1" },
- { "virtio-serial-pci", "vectors", "0" },
- { "usb-mouse", "serial", "1" },
- { "usb-tablet", "serial", "1" },
- { "usb-kbd", "serial", "1" },
- };
-
- pc_i440fx_0_13_machine_options(m);
- m->hw_version = "0.12";
- compat_props_add(m->compat_props, compat, G_N_ELEMENTS(compat));
-}
-
-DEFINE_I440FX_MACHINE(v0_12, "pc-0.12", pc_compat_0_13,
- pc_i440fx_0_12_machine_options);
-
typedef struct {
uint16_t gpu_device_id;
uint16_t pch_device_id;
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
index e88f6d1..97ba3cb 100644
--- a/qemu-deprecated.texi
+++ b/qemu-deprecated.texi
@@ -265,7 +265,7 @@ The 'scsi-disk' device is deprecated. Users should use
'scsi-hd' or
This machine type is very old and unmaintained. Users should use the 'malta'
machine type instead.
-@subsection pc-0.12, pc-0.13, pc-0.14 and pc-0.15 (since 4.0)
+@subsection pc-1.0, pc-1.1, pc-1.2 and pc-1.3 (since 5.0)
These machine types are very old and likely can not be used for live migration
from old QEMU versions anymore. A newer machine type should be used instead.
diff --git a/tests/cpu-plug-test.c b/tests/cpu-plug-test.c
index 30e514b..e8ffbbc 100644
--- a/tests/cpu-plug-test.c
+++ b/tests/cpu-plug-test.c
@@ -148,11 +148,7 @@ static void add_pc_test_case(const char *mname)
(strcmp(mname, "pc-1.3") == 0) ||
(strcmp(mname, "pc-1.2") == 0) ||
(strcmp(mname, "pc-1.1") == 0) ||
- (strcmp(mname, "pc-1.0") == 0) ||
- (strcmp(mname, "pc-0.15") == 0) ||
- (strcmp(mname, "pc-0.14") == 0) ||
- (strcmp(mname, "pc-0.13") == 0) ||
- (strcmp(mname, "pc-0.12") == 0)) {
+ (strcmp(mname, "pc-1.0") == 0)) {
path = g_strdup_printf("cpu-plug/%s/init/%ux%ux%u&maxcpus=%u",
mname, data->sockets, data->cores,
data->threads, data->maxcpus);
--
1.8.3.1
- [PULL 75/87] target/i386: remove unused pci-assign codes, (continued)
- [PULL 75/87] target/i386: remove unused pci-assign codes, Paolo Bonzini, 2019/12/18
- [PULL 76/87] Fix some comment spelling errors., Paolo Bonzini, 2019/12/18
- [PULL 77/87] hw/pci-host/i440fx: Correct the header description, Paolo Bonzini, 2019/12/18
- [PULL 78/87] hw/pci-host/i440fx: Extract PCII440FXState to "hw/pci-host/i440fx.h", Paolo Bonzini, 2019/12/18
- [PULL 79/87] hw/pci-host/i440fx: Use size_t to iterate over ARRAY_SIZE(), Paolo Bonzini, 2019/12/18
- [PULL 64/87] docs: import Linux kernel-doc script and extension, Paolo Bonzini, 2019/12/18
- [PULL 80/87] hw/pci-host/i440fx: Use definitions instead of magic values, Paolo Bonzini, 2019/12/18
- [PULL 82/87] hw/pci-host: Add Kconfig entry to select the IGD Passthrough Host Bridge, Paolo Bonzini, 2019/12/18
- [PULL 81/87] hw/pci-host/i440fx: Extract the IGD passthrough host bridge device, Paolo Bonzini, 2019/12/18
- [PULL 85/87] hw/pci: Remove the "command_serr_enable" property, Paolo Bonzini, 2019/12/18
- [PULL 83/87] hw/i386: Remove the deprecated machines 0.12 up to 0.15,
Paolo Bonzini <=
- [PULL 84/87] hw/audio: Remove the "use_broken_id" hack from the AC97 device, Paolo Bonzini, 2019/12/18
- [PULL 86/87] hw/display: Remove "rombar" hack from vga-pci and vmware_vga, Paolo Bonzini, 2019/12/18
- [PULL 87/87] vga: cleanup mapping of VRAM for non-PCI VGA, Paolo Bonzini, 2019/12/18
- Re: [PULL 00/87] Misc patches for 2019-12-18, Peter Maydell, 2019/12/20