From 948897687e982c4d54febec420ed4690d5b30df5 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Fri, 17 Jul 2009 22:08:33 +0100 Subject: [PATCH] Add checks for some NIC hotplug related features added in qemu-0.10.0 Add QEMUD_CMD_FLAG_NET_NAME to indicate that '-net ...,name=foo' is supported and QEMUD_CMD_FLAG_HOST_NET_ADD to indicate that the 'host_net_add' monitor command is available. Set both these flags if the qemu version is greater than 0.10.0. Checking via the '-help' output would not work for the monitor command and even for the command line arg, it would be quite fragile. * src/qemu_conf.h: add new flags as aliases of QEMUD_CMD_FLAG_0_10 * src/qemu_conf.c: set QEMUD_CMD_FLAG_0_10 for versions >= 0.10.0 * tests/qemuhelptest.c: set QEMUD_CMD_FLAG_0_10 for the appropriate qemu versions --- src/qemu_conf.c | 3 +++ src/qemu_conf.h | 5 +++++ tests/qemuhelptest.c | 9 ++++++--- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/qemu_conf.c b/src/qemu_conf.c index ba996525c2..a9e5e4efa3 100644 --- a/src/qemu_conf.c +++ b/src/qemu_conf.c @@ -527,6 +527,9 @@ static unsigned int qemudComputeCmdFlags(const char *help, flags |= QEMUD_CMD_FLAG_MIGRATE_KVM_STDIO; } + if (version >= 10000) + flags |= QEMUD_CMD_FLAG_0_10; + return flags; } diff --git a/src/qemu_conf.h b/src/qemu_conf.h index fbf2ab91f6..1b2d061605 100644 --- a/src/qemu_conf.h +++ b/src/qemu_conf.h @@ -58,6 +58,11 @@ enum qemud_cmd_flags { QEMUD_CMD_FLAG_KVM = (1 << 13), /* Whether KVM is compiled in */ QEMUD_CMD_FLAG_DRIVE_FORMAT = (1 << 14), /* Is -drive format= avail */ QEMUD_CMD_FLAG_VGA = (1 << 15), /* Is -vga avail */ + + /* features added in qemu-0.10.0 */ + QEMUD_CMD_FLAG_0_10 = (1 << 16), + QEMUD_CMD_FLAG_NET_NAME = QEMUD_CMD_FLAG_0_10, /* -net ...,name=str */ + QEMUD_CMD_FLAG_HOST_NET_ADD = QEMUD_CMD_FLAG_0_10, /* host_net_add monitor command */ }; /* Main driver state */ diff --git a/tests/qemuhelptest.c b/tests/qemuhelptest.c index 73eae542df..1948bd1ed6 100644 --- a/tests/qemuhelptest.c +++ b/tests/qemuhelptest.c @@ -118,7 +118,8 @@ mymain(int argc, char **argv) QEMUD_CMD_FLAG_MIGRATE_QEMU_EXEC | QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_DRIVE_FORMAT | - QEMUD_CMD_FLAG_VGA, + QEMUD_CMD_FLAG_VGA | + QEMUD_CMD_FLAG_0_10, 10005, 0, 0); DO_TEST("qemu-kvm-0.10.5", QEMUD_CMD_FLAG_VNC_COLON | @@ -133,7 +134,8 @@ mymain(int argc, char **argv) QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_KVM | QEMUD_CMD_FLAG_DRIVE_FORMAT | - QEMUD_CMD_FLAG_VGA, + QEMUD_CMD_FLAG_VGA | + QEMUD_CMD_FLAG_0_10, 10005, 1, 0); DO_TEST("kvm-86", QEMUD_CMD_FLAG_VNC_COLON | @@ -148,7 +150,8 @@ mymain(int argc, char **argv) QEMUD_CMD_FLAG_DRIVE_CACHE_V2 | QEMUD_CMD_FLAG_KVM | QEMUD_CMD_FLAG_DRIVE_FORMAT | - QEMUD_CMD_FLAG_VGA, + QEMUD_CMD_FLAG_VGA | + QEMUD_CMD_FLAG_0_10, 10050, 1, 0); return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE; -- GitLab