qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [Qemu-devel] [PATCH 5/5] hw/arm/virt: create the 2.7 mach


From: Andrew Jones
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH 5/5] hw/arm/virt: create the 2.7 machine type
Date: Thu, 9 Jun 2016 18:19:58 +0200
User-agent: Mutt/1.5.23.1 (2014-03-12)

On Thu, Jun 09, 2016 at 05:06:43PM +0100, Alex Bennée wrote:
> 
> Andrew Jones <address@hidden> writes:
> 
> > Signed-off-by: Andrew Jones <address@hidden>
> 
> 
> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]