From: Marc-André Lureau Date: Thu, 2 Apr 2015 16:44:08 +0000 (+0200) Subject: qemu: add machine vmport argument X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=7d3dc7a0842ccf272ed8d8521d33950921485b18;p=people%2Fliuw%2Flibxenctrl-split%2Flibvirt.git qemu: add machine vmport argument Fill qemu command line vmport argument as required. --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5bfbf6264..952a10efc 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7316,6 +7316,7 @@ qemuBuildMachineArgStr(virCommandPtr cmd, obsoleteAccel = true; } else { virBuffer buf = VIR_BUFFER_INITIALIZER; + virTristateSwitch vmport = def->features[VIR_DOMAIN_FEATURE_VMPORT]; virCommandAddArg(cmd, "-machine"); virBufferAdd(&buf, def->os.machine, -1); @@ -7333,6 +7334,19 @@ qemuBuildMachineArgStr(virCommandPtr cmd, if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_MACHINE_USB_OPT)) virBufferAddLit(&buf, ",usb=off"); + if (vmport) { + if (!virQEMUCapsSupportsVmport(qemuCaps, def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("vmport is not available " + "with this QEMU binary")); + virBufferFreeAndReset(&buf); + return -1; + } + + virBufferAsprintf(&buf, ",vmport=%s", + virTristateSwitchTypeToString(vmport)); + } + if (def->mem.dump_core) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DUMP_GUEST_CORE)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",