Message ID | 1465410291-2971-6-git-send-email-drjones@redhat.com |
---|---|
State | Superseded |
Headers | show |
Andrew Jones <drjones@redhat.com> writes: > Signed-off-by: Andrew Jones <drjones@redhat.com> I'm confused. These steps have introduced a bunch of boiler plate to set the default virt machine type so we can introduce 2.7 which is an alias of the existing 2.6? Wouldn't this be better of waiting until there is a concrete difference or have I missed something subtle here? > --- > hw/arm/virt.c | 20 ++++++++++++++++++-- > 1 file changed, 18 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 017c244a46f41..323ffd4689641 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -42,6 +42,7 @@ > #include "sysemu/sysemu.h" > #include "sysemu/kvm.h" > #include "hw/boards.h" > +#include "hw/compat.h" > #include "hw/loader.h" > #include "exec/address-spaces.h" > #include "qemu/bitops.h" > @@ -1423,7 +1424,7 @@ static void machvirt_machine_init(void) > } > type_init(machvirt_machine_init); > > -static void virt_2_6_instance_init(Object *obj) > +static void virt_2_7_instance_init(Object *obj) > { > VirtMachineState *vms = VIRT_MACHINE(obj); > > @@ -1456,7 +1457,22 @@ static void virt_2_6_instance_init(Object *obj) > "Valid values are 2, 3 and host", NULL); > } > > +static void virt_machine_2_7_options(MachineClass *mc) > +{ > +} > +DEFINE_VIRT_MACHINE_AS_LATEST(2, 7) > + > +#define VIRT_COMPAT_2_6 \ > + HW_COMPAT_2_6 > + > +static void virt_2_6_instance_init(Object *obj) > +{ > + virt_2_7_instance_init(obj); > +} > + > static void virt_machine_2_6_options(MachineClass *mc) > { > + virt_machine_2_7_options(mc); > + SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6); > } > -DEFINE_VIRT_MACHINE_AS_LATEST(2, 6) > +DEFINE_VIRT_MACHINE(2, 6) -- Alex Bennée
On Thu, Jun 09, 2016 at 05:06:43PM +0100, Alex Bennée wrote: > > Andrew Jones <drjones@redhat.com> writes: > > > Signed-off-by: Andrew Jones <drjones@redhat.com> > > > I'm confused. These steps have introduced a bunch of boiler plate to set > the default virt machine type so we can introduce 2.7 which is an alias > of the existing 2.6? Wouldn't this be better of waiting until there is a > concrete difference or have I missed something subtle here? The concrete difference is the minor number; 7 != 6. Take a look at how hw/i386/pc and hw/ppc/spapr do this. I basically just stole from them. Now, on differences (besides the version); I'm trying to decide what warrants versioning. There's the obvious migrateable state, but what about changes to DT/ACPI? We've added NUMA info to the hardware description for 2.7, but there's no easy way to version that with the way we currently do it (like this series). Thoughts on that? Thanks, drew > > > --- > > hw/arm/virt.c | 20 ++++++++++++++++++-- > > 1 file changed, 18 insertions(+), 2 deletions(-) > > > > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > > index 017c244a46f41..323ffd4689641 100644 > > --- a/hw/arm/virt.c > > +++ b/hw/arm/virt.c > > @@ -42,6 +42,7 @@ > > #include "sysemu/sysemu.h" > > #include "sysemu/kvm.h" > > #include "hw/boards.h" > > +#include "hw/compat.h" > > #include "hw/loader.h" > > #include "exec/address-spaces.h" > > #include "qemu/bitops.h" > > @@ -1423,7 +1424,7 @@ static void machvirt_machine_init(void) > > } > > type_init(machvirt_machine_init); > > > > -static void virt_2_6_instance_init(Object *obj) > > +static void virt_2_7_instance_init(Object *obj) > > { > > VirtMachineState *vms = VIRT_MACHINE(obj); > > > > @@ -1456,7 +1457,22 @@ static void virt_2_6_instance_init(Object *obj) > > "Valid values are 2, 3 and host", NULL); > > } > > > > +static void virt_machine_2_7_options(MachineClass *mc) > > +{ > > +} > > +DEFINE_VIRT_MACHINE_AS_LATEST(2, 7) > > + > > +#define VIRT_COMPAT_2_6 \ > > + HW_COMPAT_2_6 > > + > > +static void virt_2_6_instance_init(Object *obj) > > +{ > > + virt_2_7_instance_init(obj); > > +} > > + > > static void virt_machine_2_6_options(MachineClass *mc) > > { > > + virt_machine_2_7_options(mc); > > + SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6); > > } > > -DEFINE_VIRT_MACHINE_AS_LATEST(2, 6) > > +DEFINE_VIRT_MACHINE(2, 6) > > > -- > Alex Bennée
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 017c244a46f41..323ffd4689641 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -42,6 +42,7 @@ #include "sysemu/sysemu.h" #include "sysemu/kvm.h" #include "hw/boards.h" +#include "hw/compat.h" #include "hw/loader.h" #include "exec/address-spaces.h" #include "qemu/bitops.h" @@ -1423,7 +1424,7 @@ static void machvirt_machine_init(void) } type_init(machvirt_machine_init); -static void virt_2_6_instance_init(Object *obj) +static void virt_2_7_instance_init(Object *obj) { VirtMachineState *vms = VIRT_MACHINE(obj); @@ -1456,7 +1457,22 @@ static void virt_2_6_instance_init(Object *obj) "Valid values are 2, 3 and host", NULL); } +static void virt_machine_2_7_options(MachineClass *mc) +{ +} +DEFINE_VIRT_MACHINE_AS_LATEST(2, 7) + +#define VIRT_COMPAT_2_6 \ + HW_COMPAT_2_6 + +static void virt_2_6_instance_init(Object *obj) +{ + virt_2_7_instance_init(obj); +} + static void virt_machine_2_6_options(MachineClass *mc) { + virt_machine_2_7_options(mc); + SET_MACHINE_COMPAT(mc, VIRT_COMPAT_2_6); } -DEFINE_VIRT_MACHINE_AS_LATEST(2, 6) +DEFINE_VIRT_MACHINE(2, 6)
Signed-off-by: Andrew Jones <drjones@redhat.com> --- hw/arm/virt.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) -- 2.4.11