So we can indicate machine type support state. For starters switch over the current deprecation_reason users.
Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- include/hw/boards.h | 5 ++--- hw/i386/pc_piix.c | 3 ++- hw/ppc/prep.c | 3 ++- vl.c | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index f82f28468b..25e5d8b292 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -106,8 +106,7 @@ typedef struct { /** * MachineClass: - * @deprecation_reason: If set, the machine is marked as deprecated. The - * string should provide some clear information about what to use instead. + * @supported: support state of the machine type. * @max_cpus: maximum number of CPUs supported. Default: 1 * @min_cpus: minimum number of CPUs supported. Default: 1 * @default_cpus: number of CPUs instantiated if none are specified. Default: 1 @@ -167,7 +166,7 @@ struct MachineClass { char *name; const char *alias; const char *desc; - const char *deprecation_reason; + QemuSupportState supported; void (*init)(MachineState *state); void (*reset)(void); diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index dc09466b3e..bc238cc465 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -957,7 +957,8 @@ static void pc_i440fx_0_11_machine_options(MachineClass *m) { pc_i440fx_0_12_machine_options(m); m->hw_version = "0.11"; - m->deprecation_reason = "use a newer machine type instead"; + m->supported.state = SUPPORT_STATE_DEPRECATED; + m->supported.reason = "use a newer machine type instead"; SET_MACHINE_COMPAT(m, PC_COMPAT_0_11); } diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c index 2afb7f437e..ab1c2bcc7d 100644 --- a/hw/ppc/prep.c +++ b/hw/ppc/prep.c @@ -588,7 +588,8 @@ static void ppc_prep_init(MachineState *machine) static void prep_machine_init(MachineClass *mc) { - mc->deprecation_reason = "use 40p machine type instead"; + mc->supported.state = SUPPORT_STATE_DEPRECATED; + mc->supported.reason = "use 40p machine type instead"; mc->desc = "PowerPC PREP platform"; mc->init = ppc_prep_init; mc->block_default_type = IF_IDE; diff --git a/vl.c b/vl.c index 1fcacc5caa..83506de0cc 100644 --- a/vl.c +++ b/vl.c @@ -2573,7 +2573,7 @@ static gint machine_class_cmp(gconstpointer a, gconstpointer b) } printf("%-20s %s%s%s\n", mc->name, mc->desc, mc->is_default ? " (default)" : "", - mc->deprecation_reason ? " (deprecated)" : ""); + qemu_is_deprecated(&mc->supported) ? " (deprecated)" : ""); } } @@ -4290,9 +4290,9 @@ int main(int argc, char **argv, char **envp) configure_accelerator(current_machine); - if (!qtest_enabled() && machine_class->deprecation_reason) { + if (!qtest_enabled() && qemu_is_deprecated(&machine_class->supported)) { error_report("Machine type '%s' is deprecated: %s", - machine_class->name, machine_class->deprecation_reason); + machine_class->name, machine_class->supported.reason); } /* -- 2.9.3