Add new function to manage adding the '-device sga' to the command line removing that task from the mainline qemuBuildCommandLine Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> --- src/qemu/qemu_command.c | 50 ++++++++++++++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 0e3b516..e554648 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4537,6 +4537,35 @@ qemuBuildSmbiosCommandLine(virCommandPtr cmd, } +static int +qemuBuildSgaCommandLine(virCommandPtr cmd, + const virDomainDef *def, + virQEMUCapsPtr qemuCaps) +{ + /* Serial graphics adapter */ + if (def->os.bios.useserial == VIR_TRISTATE_BOOL_YES) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("qemu does not support -device")); + return -1; + } + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SGA)) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("qemu does not support SGA")); + return -1; + } + if (!def->nserials) { + virReportError(VIR_ERR_XML_ERROR, "%s", + _("need at least one serial port to use SGA")); + return -1; + } + virCommandAddArgList(cmd, "-device", "sga", NULL); + } + + return 0; +} + + static char * qemuBuildClockArgStr(virDomainClockDefPtr def) { @@ -7080,25 +7109,8 @@ qemuBuildCommandLine(virConnectPtr conn, virCommandAddArg(cmd, "-nodefaults"); } - /* Serial graphics adapter */ - if (def->os.bios.useserial == VIR_TRISTATE_BOOL_YES) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE)) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("qemu does not support -device")); - goto error; - } - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SGA)) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("qemu does not support SGA")); - goto error; - } - if (!def->nserials) { - virReportError(VIR_ERR_XML_ERROR, "%s", - _("need at least one serial port to use SGA")); - goto error; - } - virCommandAddArgList(cmd, "-device", "sga", NULL); - } + if (qemuBuildSgaCommandLine(cmd, def, qemuCaps) < 0) + goto error; if (monitor_chr) { char *chrdev; -- 2.5.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list