From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49603) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bC7gH-0006zp-D7 for qemu-devel@nongnu.org; Sun, 12 Jun 2016 11:52:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bC7gF-0007VU-6y for qemu-devel@nongnu.org; Sun, 12 Jun 2016 11:52:08 -0400 From: Andrew Jones Date: Sun, 12 Jun 2016 17:51:52 +0200 Message-Id: <1465746713-30414-4-git-send-email-drjones@redhat.com> In-Reply-To: <1465746713-30414-1-git-send-email-drjones@redhat.com> References: <1465746713-30414-1-git-send-email-drjones@redhat.com> Subject: [Qemu-devel] [PATCH v2 3/4] hw/arm/virt: introduce DEFINE_VIRT_MACHINE_AS_LATEST List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, qemu-arm@nongnu.org Cc: peter.maydell@linaro.org, alex.bennee@linaro.org, wei@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 --- hw/arm/virt.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 054c31006aa2a..df88eeb4d2ca0 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -99,13 +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"; \ + } \ } \ static const TypeInfo machvirt_##major##_##minor##_info = { \ .name = MACHINE_TYPE_NAME("virt-" # major "." # minor), \ @@ -119,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 @@ -1450,6 +1458,5 @@ static void virt_2_6_instance_init(Object *obj) static void virt_machine_2_6_options(MachineClass *mc) { - mc->alias = "virt"; } -DEFINE_VIRT_MACHINE(2, 6) +DEFINE_VIRT_MACHINE_AS_LATEST(2, 6) -- 2.4.11