qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 5/7] pc: Use DEFINE_MACHINE to implement DEFINE_


From: Eduardo Habkost
Subject: Re: [Qemu-devel] [PATCH 5/7] pc: Use DEFINE_MACHINE to implement DEFINE_PC_MACHINE
Date: Wed, 19 Aug 2015 16:28:58 -0700
User-agent: Mutt/1.5.23 (2014-03-12)

On Tue, Aug 18, 2015 at 12:08:52PM -0700, Eduardo Habkost wrote:
> DEFINE_PC_MACHINE should be eventually replaced by DEFINE_MACHINE, we
> just need to eliminate the pc_compat_*() functions first.
> 
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
>  include/hw/i386/pc.h | 15 ++-------------
>  1 file changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
> index d0cad87..dc22608 100644
> --- a/include/hw/i386/pc.h
> +++ b/include/hw/i386/pc.h
> @@ -694,23 +694,12 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t 
> *);
>          },
>  
>  #define DEFINE_PC_MACHINE(suffix, namestr, initfn, optsfn) \
> -    static void pc_machine_##suffix##_class_init(ObjectClass *oc, void 
> *data) \
> +    static void pc_machine_##suffix##_class_init(MachineClass *mc) \
>      { \
> -        MachineClass *mc = MACHINE_CLASS(oc); \
>          optsfn(mc); \
> -        mc->name = namestr; \
>          mc->init = initfn; \
>      } \
> -    static const TypeInfo pc_machine_type_##suffix = { \
> -        .name       = namestr TYPE_MACHINE_SUFFIX, \
> -        .parent     = TYPE_PC_MACHINE, \
> -        .class_init = pc_machine_##suffix##_class_init, \
> -    }; \
> -    static void pc_machine_init_##suffix(void) \
> -    { \
> -        type_register(&pc_machine_type_##suffix); \
> -    } \
> -    machine_init(pc_machine_init_##suffix)
> +    DEFINE_MACHINE(namestr, pc_machine_##suffix##_class_init)

Please drop this patch, it is broken:

  $ ./x86_64-softmmu/qemu-system-x86_64 -machine '?'
  qemu/hw/i386/pc_piix.c:502:pc_i440fx_1_6_machine_options: Object 
0x555563d0adb0 is not an instance of type generic-pc-machine
  Aborted (core dumped)

The parent class is being incorrectly changed from TYPE_PC_MACHINE to
TYPE_MACHINE.

-- 
Eduardo



reply via email to

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