All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Jones <drjones@redhat.com>
To: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: peter.maydell@linaro.org, wei@redhat.com
Subject: [Qemu-devel] [PATCH 4/5] hw/arm/virt: introduce DEFINE_VIRT_MACHINE_AS_LATEST
Date: Wed,  8 Jun 2016 20:24:50 +0200	[thread overview]
Message-ID: <1465410291-2971-5-git-send-email-drjones@redhat.com> (raw)
In-Reply-To: <1465410291-2971-1-git-send-email-drjones@redhat.com>

Create two variants of DEFINE_VIRT_MACHINE. One, just called
DEFINE_VIRT_MACHINE, that does not set properties that only
the latest machine type should have, and another that does.
This will hopefully reduce potential for errors when adding
new versions.

Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 hw/arm/virt.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 9a3289d2c422c..017c244a46f41 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -99,12 +99,16 @@ typedef struct {
     OBJECT_CLASS_CHECK(VirtMachineClass, klass, TYPE_VIRT_MACHINE)
 
 
-#define DEFINE_VIRT_MACHINE(major, minor) \
+#define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \
     static void virt_##major##_##minor##_class_init(ObjectClass *oc, void *data) \
     { \
         MachineClass *mc = MACHINE_CLASS(oc); \
         virt_machine_##major##_##minor##_options(mc); \
         mc->desc = "QEMU " # major "." # minor " ARM Virtual Machine"; \
+        if (latest) { \
+            mc->alias = "virt"; \
+            mc->is_default = 1; \
+        } \
     } \
     static const TypeInfo machvirt_##major##_##minor##_info = { \
         .name = MACHINE_TYPE_NAME("virt-" # major "." # minor), \
@@ -118,6 +122,11 @@ typedef struct {
     } \
     type_init(machvirt_machine_##major##_##minor##_init);
 
+#define DEFINE_VIRT_MACHINE_AS_LATEST(major, minor) \
+    DEFINE_VIRT_MACHINE_LATEST(major, minor, true)
+#define DEFINE_VIRT_MACHINE(major, minor) \
+    DEFINE_VIRT_MACHINE_LATEST(major, minor, false)
+
 
 /* RAM limit in GB. Since VIRT_MEM starts at the 1GB mark, this means
  * RAM can go up to the 256GB mark, leaving 256GB of the physical
@@ -1449,7 +1458,5 @@ static void virt_2_6_instance_init(Object *obj)
 
 static void virt_machine_2_6_options(MachineClass *mc)
 {
-    mc->alias = "virt";
-    mc->is_default = 1;
 }
-DEFINE_VIRT_MACHINE(2, 6)
+DEFINE_VIRT_MACHINE_AS_LATEST(2, 6)
-- 
2.4.11

  parent reply	other threads:[~2016-06-08 18:25 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-08 18:24 [Qemu-devel] [PATCH 0/5] create the mach-virt 2.7 machine type Andrew Jones
2016-06-08 18:24 ` [Qemu-devel] [PATCH 1/5] hw/arm/virt: separate versioned type-init code Andrew Jones
2016-06-09 18:27   ` Peter Maydell
2016-06-08 18:24 ` [Qemu-devel] [PATCH 2/5] hw/arm/virt: set is_default Andrew Jones
2016-06-09 18:27   ` Peter Maydell
2016-06-08 18:24 ` [Qemu-devel] [PATCH 3/5] hw/arm/virt: introduce DEFINE_VIRT_MACHINE Andrew Jones
2016-06-09 18:29   ` Peter Maydell
2016-06-08 18:24 ` Andrew Jones [this message]
2016-06-09 18:30   ` [Qemu-devel] [PATCH 4/5] hw/arm/virt: introduce DEFINE_VIRT_MACHINE_AS_LATEST Peter Maydell
2016-06-08 18:24 ` [Qemu-devel] [PATCH 5/5] hw/arm/virt: create the 2.7 machine type Andrew Jones
2016-06-09 16:06   ` Alex Bennée
2016-06-09 16:19     ` Andrew Jones

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=1465410291-2971-5-git-send-email-drjones@redhat.com \
    --to=drjones@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=wei@redhat.com \
    /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.