]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu: add virQEMUCapsSupportsVmport
authorMarc-André Lureau <marcandre.lureau@gmail.com>
Tue, 21 Apr 2015 11:28:40 +0000 (13:28 +0200)
committerMarc-André Lureau <marcandre.lureau@gmail.com>
Mon, 4 May 2015 11:19:38 +0000 (13:19 +0200)
The vmport machine argument works with pc machine kind, not with xen for
example.

src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h

index 7cbe9ae0aa838de80ce210b70c0e6b8dfc02f95b..d50863ff969df89970502b5826c5e67edc0baec4 100644 (file)
@@ -3724,6 +3724,19 @@ virQEMUCapsSupportsChardev(virDomainDefPtr def,
 }
 
 
+bool
+virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps,
+                          const virDomainDef *def)
+{
+    if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_VMPORT_OPT))
+        return false;
+
+    return qemuDomainMachineIsI440FX(def) ||
+        qemuDomainMachineIsQ35(def) ||
+        STREQ(def->os.machine, "isapc");
+}
+
+
 bool
 virQEMUCapsIsMachineSupported(virQEMUCapsPtr qemuCaps,
                               const char *canonical_machine)
index 48c8f9601db4f7b5606dd2c9c82af15d49971e93..81557b7f917c9f653c9393ff561e875b73e76932 100644 (file)
@@ -263,6 +263,9 @@ bool virQEMUCapsGet(virQEMUCapsPtr qemuCaps,
 bool virQEMUCapsHasPCIMultiBus(virQEMUCapsPtr qemuCaps,
                                virDomainDefPtr def);
 
+bool virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps,
+                               const virDomainDef *def);
+
 char *virQEMUCapsFlagsString(virQEMUCapsPtr qemuCaps);
 
 const char *virQEMUCapsGetBinary(virQEMUCapsPtr qemuCaps);