[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
- [Qemu-arm] [PATCH 0/5] create the mach-virt 2.7 machine type, Andrew Jones, 2016/06/08
- [Qemu-arm] [PATCH 3/5] hw/arm/virt: introduce DEFINE_VIRT_MACHINE, Andrew Jones, 2016/06/08
- [Qemu-arm] [PATCH 4/5] hw/arm/virt: introduce DEFINE_VIRT_MACHINE_AS_LATEST, Andrew Jones, 2016/06/08
- [Qemu-arm] [PATCH 1/5] hw/arm/virt: separate versioned type-init code, Andrew Jones, 2016/06/08
- [Qemu-arm] [PATCH 5/5] hw/arm/virt: create the 2.7 machine type, Andrew Jones, 2016/06/08
- [Qemu-arm] [PATCH 2/5] hw/arm/virt: set is_default, Andrew Jones, 2016/06/08