qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v7 2/4] s390x: Convert QEMUMachine to MachineCla


From: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [PATCH v7 2/4] s390x: Convert QEMUMachine to MachineClass
Date: Fri, 13 Jun 2014 13:44:23 +1000
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

btw only this patche from the series got "[Qemu-devel]" in the subject line
and others did not, why? Lists of emails are almost the same, only Eric
Blake got kicked off (added him manually to this email cc:), is that
connected? :) Why is that subject thing happening? Thanks.



On 06/13/2014 01:36 PM, Alexey Kardashevskiy wrote:
> This converts s390-virtio and s390-ccw-virtio machines to QOM MachineClass.
> This brings ability to add interfaces to the machine classes. The first
> interface for addition will be NMI.
> 
> The patch is mechanical so no change in behavior is expected.
> 
> Signed-off-by: Alexey Kardashevskiy <address@hidden>
> ---
>  hw/s390x/s390-virtio-ccw.c | 43 +++++++++++++++++++++++++++----------------
>  hw/s390x/s390-virtio.c     | 44 +++++++++++++++++++++++++++-----------------
>  2 files changed, 54 insertions(+), 33 deletions(-)
> 
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 42f5cec..05311b8 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -18,6 +18,8 @@
>  #include "css.h"
>  #include "virtio-ccw.h"
>  
> +#define TYPE_S390_CCW_MACHINE               "s390-ccw-machine"
> +
>  void io_subsystem_reset(void)
>  {
>      DeviceState *css, *sclp, *flic;
> @@ -134,24 +136,33 @@ static void ccw_init(MachineState *machine)
>      s390_create_virtio_net(BUS(css_bus), "virtio-net-ccw");
>  }
>  
> -static QEMUMachine ccw_machine = {
> -    .name = "s390-ccw-virtio",
> -    .alias = "s390-ccw",
> -    .desc = "VirtIO-ccw based S390 machine",
> -    .init = ccw_init,
> -    .block_default_type = IF_VIRTIO,
> -    .no_cdrom = 1,
> -    .no_floppy = 1,
> -    .no_serial = 1,
> -    .no_parallel = 1,
> -    .no_sdcard = 1,
> -    .use_sclp = 1,
> -    .max_cpus = 255,
> +static void ccw_machine_class_init(ObjectClass *oc, void *data)
> +{
> +    MachineClass *mc = MACHINE_CLASS(oc);
> +
> +    mc->name = "s390-ccw-virtio";
> +    mc->alias = "s390-ccw";
> +    mc->desc = "VirtIO-ccw based S390 machine";
> +    mc->init = ccw_init;
> +    mc->block_default_type = IF_VIRTIO;
> +    mc->no_cdrom = 1;
> +    mc->no_floppy = 1;
> +    mc->no_serial = 1;
> +    mc->no_parallel = 1;
> +    mc->no_sdcard = 1;
> +    mc->use_sclp = 1,
> +    mc->max_cpus = 255;
> +}
> +
> +static const TypeInfo ccw_machine_info = {
> +    .name          = TYPE_S390_CCW_MACHINE,
> +    .parent        = TYPE_MACHINE,
> +    .class_init    = ccw_machine_class_init,
>  };
>  
> -static void ccw_machine_init(void)
> +static void ccw_machine_register_types(void)
>  {
> -    qemu_register_machine(&ccw_machine);
> +    type_register_static(&ccw_machine_info);
>  }
>  
> -machine_init(ccw_machine_init)
> +type_init(ccw_machine_register_types)
> diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c
> index 93c7ace..f1e0dbc 100644
> --- a/hw/s390x/s390-virtio.c
> +++ b/hw/s390x/s390-virtio.c
> @@ -51,6 +51,7 @@
>  
>  #define MAX_BLK_DEVS                    10
>  #define ZIPL_FILENAME                   "s390-zipl.rom"
> +#define TYPE_S390_MACHINE               "s390-machine"
>  
>  static VirtIOS390Bus *s390_bus;
>  static S390CPU **ipi_states;
> @@ -279,25 +280,34 @@ static void s390_init(MachineState *machine)
>      s390_create_virtio_net((BusState *)s390_bus, "virtio-net-s390");
>  }
>  
> -static QEMUMachine s390_machine = {
> -    .name = "s390-virtio",
> -    .alias = "s390",
> -    .desc = "VirtIO based S390 machine",
> -    .init = s390_init,
> -    .block_default_type = IF_VIRTIO,
> -    .no_cdrom = 1,
> -    .no_floppy = 1,
> -    .no_serial = 1,
> -    .no_parallel = 1,
> -    .no_sdcard = 1,
> -    .use_virtcon = 1,
> -    .max_cpus = 255,
> -    .is_default = 1,
> +static void s390_machine_class_init(ObjectClass *oc, void *data)
> +{
> +    MachineClass *mc = MACHINE_CLASS(oc);
> +
> +    mc->name = "s390-virtio";
> +    mc->alias = "s390";
> +    mc->desc = "VirtIO based S390 machine";
> +    mc->init = s390_init;
> +    mc->block_default_type = IF_VIRTIO;
> +    mc->max_cpus = 255;
> +    mc->no_serial = 1;
> +    mc->no_parallel = 1;
> +    mc->use_virtcon = 1;
> +    mc->no_floppy = 1;
> +    mc->no_cdrom = 1;
> +    mc->no_sdcard = 1;
> +    mc->is_default = 1;
> +}
> +
> +static const TypeInfo s390_machine_info = {
> +    .name          = TYPE_S390_MACHINE,
> +    .parent        = TYPE_MACHINE,
> +    .class_init    = s390_machine_class_init,
>  };
>  
> -static void s390_machine_init(void)
> +static void s390_machine_register_types(void)
>  {
> -    qemu_register_machine(&s390_machine);
> +    type_register_static(&s390_machine_info);
>  }
>  
> -machine_init(s390_machine_init);
> +type_init(s390_machine_register_types)
> 


-- 
Alexey



reply via email to

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