Message ID | 1465410291-2971-5-git-send-email-drjones@redhat.com |
---|---|
State | Superseded |
Headers | show |
On 8 June 2016 at 19:24, Andrew Jones <drjones@redhat.com> wrote: > Create two variants of DEFINE_VIRT_MACHINE. One, just called > DEFINE_VIRT_MACHINE, that does not set properties that only > the latest machine type should have, and another that does. > This will hopefully reduce potential for errors when adding > new versions. > > Signed-off-by: Andrew Jones <drjones@redhat.com> > --- > hw/arm/virt.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 9a3289d2c422c..017c244a46f41 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -99,12 +99,16 @@ typedef struct { > OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE) > > > -#define DEFINE_VIRT_MACHINE(major, minor) \ > +#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \ > static void virt_##major##_##minor##_class_init(ObjectClass *oc, void *data) \ > { \ > MachineClass *mc = MACHINE_CLASS(oc); \ > virt_machine_##major##_##minor##_options(mc); \ > mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \ > + if (latest) { \ > + mc->alias = "virt"; \ > + mc->is_default = 1; \ > + } \ See previous patch comments about not wanting a default machine. thanks -- PMM
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 9a3289d2c422c..017c244a46f41 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -99,12 +99,16 @@ typedef struct { OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE) -#define DEFINE_VIRT_MACHINE(major, minor) \ +#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \ static void virt_##major##_##minor##_class_init(ObjectClass *oc, void *data) \ { \ MachineClass *mc = MACHINE_CLASS(oc); \ virt_machine_##major##_##minor##_options(mc); \ mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \ + if (latest) { \ + mc->alias = "virt"; \ + mc->is_default = 1; \ + } \ } \ static const TypeInfo machvirt_##major##_##minor##_info = { \ .name = MACHINE_TYPE_NAME("virt-" # major "." # minor), \ @@ -118,6 +122,11 @@ typedef struct { } \ type_init(machvirt_machine_##major##_##minor##_init); +#define DEFINE_VIRT_MACHINE_AS_LATEST(major, minor) \ + DEFINE_VIRT_MACHINE_LATEST(major, minor, true) +#define DEFINE_VIRT_MACHINE(major, minor) \ + DEFINE_VIRT_MACHINE_LATEST(major, minor, false) + /* RAM limit in GB. Since VIRT_MEM starts at the 1GB mark, this means * RAM can go up to the 256GB mark, leaving 256GB of the physical @@ -1449,7 +1458,5 @@ static void virt_2_6_instance_init(Object *obj) static void virt_machine_2_6_options(MachineClass *mc) { - mc->alias = "virt"; - mc->is_default = 1; } -DEFINE_VIRT_MACHINE(2, 6) +DEFINE_VIRT_MACHINE_AS_LATEST(2, 6)
Create two variants of DEFINE_VIRT_MACHINE. One, just called DEFINE_VIRT_MACHINE, that does not set properties that only the latest machine type should have, and another that does. This will hopefully reduce potential for errors when adding new versions. Signed-off-by: Andrew Jones <drjones@redhat.com> --- hw/arm/virt.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) -- 2.4.11