From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40086) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZU9vv-0001m2-FN for qemu-devel@nongnu.org; Tue, 25 Aug 2015 04:50:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZU9vs-0001jS-6O for qemu-devel@nongnu.org; Tue, 25 Aug 2015 04:50:19 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38990) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZU9vr-0001gv-Vl for qemu-devel@nongnu.org; Tue, 25 Aug 2015 04:50:16 -0400 References: <1440107676-17326-1-git-send-email-ehabkost@redhat.com> <1440107676-17326-11-git-send-email-ehabkost@redhat.com> From: Marcel Apfelbaum Message-ID: <55DC2C43.10706@redhat.com> Date: Tue, 25 Aug 2015 11:50:11 +0300 MIME-Version: 1.0 In-Reply-To: <1440107676-17326-11-git-send-email-ehabkost@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 10/10] machine: Set MachineClass::name automatically List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eduardo Habkost , qemu-devel@nongnu.org, =?UTF-8?Q?Andreas_F=c3=a4rber?= Cc: Marcel Apfelbaum , David Gibson On 08/21/2015 12:54 AM, Eduardo Habkost wrote: > Now all TYPE_MACHINE subclasses use MACHINE_TYPE_NAME to generate the > class name. So instead of requiring each subclass to set > MachineClass::name manually, we can now set it automatically at the > TYPE_MACHINE class_base_init() function. > > Signed-off-by: Eduardo Habkost > --- > hw/arm/vexpress.c | 2 -- > hw/arm/virt.c | 1 - > hw/core/machine.c | 3 +++ > hw/ppc/mac_newworld.c | 1 - > hw/ppc/spapr.c | 4 ---- > hw/s390x/s390-virtio.c | 1 - > vl.c | 1 - > 7 files changed, 3 insertions(+), 10 deletions(-) > > diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c > index a86979d..55aed2b 100644 > --- a/hw/arm/vexpress.c > +++ b/hw/arm/vexpress.c > @@ -758,7 +758,6 @@ static void vexpress_a9_class_init(ObjectClass *oc, void *data) > MachineClass *mc = MACHINE_CLASS(oc); > VexpressMachineClass *vmc = VEXPRESS_MACHINE_CLASS(oc); > > - mc->name = TYPE_VEXPRESS_A9_MACHINE; > mc->desc = "ARM Versatile Express for Cortex-A9"; > > vmc->daughterboard = &a9_daughterboard;; > @@ -769,7 +768,6 @@ static void vexpress_a15_class_init(ObjectClass *oc, void *data) > MachineClass *mc = MACHINE_CLASS(oc); > VexpressMachineClass *vmc = VEXPRESS_MACHINE_CLASS(oc); > > - mc->name = TYPE_VEXPRESS_A15_MACHINE; > mc->desc = "ARM Versatile Express for Cortex-A15"; > > vmc->daughterboard = &a15_daughterboard; > diff --git a/hw/arm/virt.c b/hw/arm/virt.c > index 5ba4b80..af985f6 100644 > --- a/hw/arm/virt.c > +++ b/hw/arm/virt.c > @@ -960,7 +960,6 @@ static void virt_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > > - mc->name = VIRT_MACHINE_NAME; > mc->desc = "ARM Virtual Machine", > mc->init = machvirt_init; > mc->max_cpus = 8; > diff --git a/hw/core/machine.c b/hw/core/machine.c > index e50c4b7..a889d7a 100644 > --- a/hw/core/machine.c > +++ b/hw/core/machine.c > @@ -305,8 +305,11 @@ static void machine_class_init(ObjectClass *oc, void *data) > static void machine_class_base_init(ObjectClass *oc, void *data) > { > if (!object_class_is_abstract(oc)) { > + MachineClass *mc = MACHINE_CLASS(oc); > const char *cname = object_class_get_name(oc); > assert(g_str_has_suffix(cname, TYPE_MACHINE_SUFFIX)); > + mc->name = g_strndup(cname, > + strlen(cname) - strlen(TYPE_MACHINE_SUFFIX)); > } > } > > diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c > index a6b8209..70e7431 100644 > --- a/hw/ppc/mac_newworld.c > +++ b/hw/ppc/mac_newworld.c > @@ -508,7 +508,6 @@ static void core99_machine_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > > - mc->name = "mac99"; > mc->desc = "Mac99 based PowerMAC"; > mc->init = ppc_core99_init; > mc->max_cpus = MAX_CPUS; > diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c > index 012b6ed..05926a3 100644 > --- a/hw/ppc/spapr.c > +++ b/hw/ppc/spapr.c > @@ -1919,7 +1919,6 @@ static void spapr_machine_2_1_class_init(ObjectClass *oc, void *data) > { /* end of list */ } > }; > > - mc->name = "pseries-2.1"; > mc->desc = "pSeries Logical Partition (PAPR compliant) v2.1"; > mc->compat_props = compat_props; > } > @@ -1939,7 +1938,6 @@ static void spapr_machine_2_2_class_init(ObjectClass *oc, void *data) > }; > MachineClass *mc = MACHINE_CLASS(oc); > > - mc->name = "pseries-2.2"; > mc->desc = "pSeries Logical Partition (PAPR compliant) v2.2"; > mc->compat_props = compat_props; > } > @@ -1959,7 +1957,6 @@ static void spapr_machine_2_3_class_init(ObjectClass *oc, void *data) > }; > MachineClass *mc = MACHINE_CLASS(oc); > > - mc->name = "pseries-2.3"; > mc->desc = "pSeries Logical Partition (PAPR compliant) v2.3"; > mc->compat_props = compat_props; > } > @@ -1975,7 +1972,6 @@ static void spapr_machine_2_4_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > > - mc->name = "pseries-2.4"; > mc->desc = "pSeries Logical Partition (PAPR compliant) v2.4"; > mc->alias = "pseries"; > mc->is_default = 1; > diff --git a/hw/s390x/s390-virtio.c b/hw/s390x/s390-virtio.c > index 43d6ccb..35c0ce2 100644 > --- a/hw/s390x/s390-virtio.c > +++ b/hw/s390x/s390-virtio.c > @@ -334,7 +334,6 @@ static void s390_machine_class_init(ObjectClass *oc, void *data) > MachineClass *mc = MACHINE_CLASS(oc); > NMIClass *nc = NMI_CLASS(oc); > > - mc->name = S390_MACHINE; > mc->alias = "s390"; > mc->desc = "VirtIO based S390 machine"; > mc->init = s390_init; > diff --git a/vl.c b/vl.c > index b7ddfeb..870ee48 100644 > --- a/vl.c > +++ b/vl.c > @@ -1432,7 +1432,6 @@ static void qemu_machine_class_init(ObjectClass *oc, void *data) > { > MachineClass *mc = MACHINE_CLASS(oc); > QEMUMachine *qm = data; > - mc->name = qm->name; > mc->desc = qm->desc; > mc->init = qm->init; > mc->kvm_type = qm->kvm_type; > Nice! Please forget the possible stupid question, but what happens with *all* other machine types? Why don't we have to remove the "name" assignment from the other machine types too? Thanks, Marcel