From: Marcel Apfelbaum <marcel@redhat.com>
To: "Eduardo Habkost" <ehabkost@redhat.com>,
qemu-devel@nongnu.org, "Andreas Färber" <afaerber@suse.de>
Cc: Marcel Apfelbaum <marcel.a@redhat.com>,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH 10/10] machine: Set MachineClass::name automatically
Date: Tue, 25 Aug 2015 11:50:11 +0300 [thread overview]
Message-ID: <55DC2C43.10706@redhat.com> (raw)
In-Reply-To: <1440107676-17326-11-git-send-email-ehabkost@redhat.com>
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 <ehabkost@redhat.com>
> ---
> 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
next prev parent reply other threads:[~2015-08-25 8:50 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-20 21:54 [Qemu-devel] [PATCH 00/10] Fix machine class names to use the "-machine" suffix Eduardo Habkost
2015-08-20 21:54 ` [Qemu-devel] [PATCH 01/10] machine: MACHINE_TYPE_NAME macro Eduardo Habkost
2015-08-25 8:53 ` Marcel Apfelbaum
2015-08-30 5:59 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 02/10] vexpress: Don't set name on abstract class Eduardo Habkost
2015-08-30 6:42 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 03/10] vexpress: Rename machine classes to use MACHINE_TYPE_NAME Eduardo Habkost
2015-08-30 6:43 ` David Gibson
2015-09-19 6:30 ` Andreas Färber
2015-09-19 6:37 ` Andreas Färber
2015-08-20 21:54 ` [Qemu-devel] [PATCH 04/10] arm: Rename virt machine class " Eduardo Habkost
2015-08-30 6:43 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 05/10] pseries: Rename machine class names " Eduardo Habkost
2015-08-30 6:45 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 06/10] s390-virtio: Rename machine class name " Eduardo Habkost
2015-08-30 6:46 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 07/10] s390: Rename s390-ccw-virtio-2.4 " Eduardo Habkost
2015-08-30 6:46 ` David Gibson
2015-09-04 8:52 ` Christian Borntraeger
2015-09-04 14:54 ` Eduardo Habkost
2015-09-04 14:56 ` Andreas Färber
2015-09-04 15:06 ` Eduardo Habkost
2015-09-04 15:42 ` Eduardo Habkost
2015-08-20 21:54 ` [Qemu-devel] [PATCH 08/10] mac99: Use MACHINE_TYPE_NAME to encode class name Eduardo Habkost
2015-08-30 6:46 ` David Gibson
2015-08-20 21:54 ` [Qemu-devel] [PATCH 09/10] machine: Ensure all TYPE_MACHINE subclasses have the right suffix Eduardo Habkost
2015-08-25 8:53 ` Marcel Apfelbaum
2015-08-20 21:54 ` [Qemu-devel] [PATCH 10/10] machine: Set MachineClass::name automatically Eduardo Habkost
2015-08-25 8:50 ` Marcel Apfelbaum [this message]
2015-08-26 15:02 ` Eduardo Habkost
2015-08-26 16:13 ` Marcel Apfelbaum
2015-09-04 15:46 ` Eduardo Habkost
2015-09-19 6:23 ` Andreas Färber
2015-09-19 6:39 ` Andreas Färber
2015-08-21 10:23 ` [Qemu-devel] [PATCH 00/10] Fix machine class names to use the "-machine" suffix Cornelia Huck
2015-08-21 15:44 ` Eduardo Habkost
2015-09-02 19:58 ` Eduardo Habkost
2015-09-03 7:39 ` Cornelia Huck
2015-09-06 19:25 ` Andreas Färber
2015-09-07 9:05 ` Marcel Apfelbaum
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55DC2C43.10706@redhat.com \
--to=marcel@redhat.com \
--cc=afaerber@suse.de \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=marcel.a@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.