We don't want to carry along old machine types forever. If we are able to remove the pc machines up to 0.13 one day for example, this would allow us to eventually kill the code for rombar=0 (i.e. where QEMU copies ROM BARs directly to low memory). Everything up to pc-1.2 is also known to have issues with migration. So let's start with a deprecation message for the old machine types so that the (hopefully) few users of these old systems start switching over to newer machine types instead.
Signed-off-by: Thomas Huth <th...@redhat.com> --- Note: Even if we mark all these old machines as deprecated, this ofcourse doesn't mean that we also have to remove them all at once later when we decide to finally really remove some. We could then also start by removing 0.10 and 0.11 only, for example (since there should really be no users left for these), or only up to 0.13 (to be able to kill rombar=0). v2: - Deprecate machines up to pc-1.2 hw/i386/pc_piix.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index 9f102aa..aace378 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -38,6 +38,7 @@ #include "sysemu/kvm.h" #include "hw/kvm/clock.h" #include "sysemu/sysemu.h" +#include "sysemu/qtest.h" #include "hw/sysbus.h" #include "sysemu/arch_init.h" #include "sysemu/block-backend.h" @@ -84,6 +85,14 @@ static void pc_init1(MachineState *machine, MemoryRegion *pci_memory; MemoryRegion *rom_memory; ram_addr_t lowmem; + char *mc_name = MACHINE_CLASS(pcmc)->name; + + /* Machines pc-0.10 up to pc-1.2 are considered as deprecated */ + if (!qtest_enabled() && (!strncmp(mc_name, "pc-0.", 5) + || (!strncmp(mc_name, "pc-1.", 5) && mc_name[5] < '3'))) { + error_report("Machine type '%s' is deprecated, " + "please use a newer type instead", mc_name); + } /* * Calculate ram split, for memory below and above 4G. It's a bit -- 1.8.3.1