From nobody Mon Apr 29 15:05:17 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zoho.com; dkim=fail spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1497876532538166.46963435896816; Mon, 19 Jun 2017 05:48:52 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2D8BEC06586F; Mon, 19 Jun 2017 12:48:49 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6FCAE8A9D5; Mon, 19 Jun 2017 12:48:47 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 69F421800C83; Mon, 19 Jun 2017 12:48:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v5JCmh4C010035 for ; Mon, 19 Jun 2017 08:48:43 -0400 Received: by smtp.corp.redhat.com (Postfix) id 08DC789C4A; Mon, 19 Jun 2017 12:48:43 +0000 (UTC) Received: from mx1.redhat.com (ext-mx05.extmail.prod.ext.phx2.redhat.com [10.5.110.29]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 022CB89FDC for ; Mon, 19 Jun 2017 12:48:28 +0000 (UTC) Received: from mail-lf0-f66.google.com (mail-lf0-f66.google.com [209.85.215.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0BBC418E3CE for ; Mon, 19 Jun 2017 12:48:25 +0000 (UTC) Received: by mail-lf0-f66.google.com with SMTP id o28so10273151lfk.1 for ; Mon, 19 Jun 2017 05:48:24 -0700 (PDT) Received: from kloomba.mnv.mirantis.net ([31.29.239.45]) by smtp.gmail.com with ESMTPSA id j200sm2470810lfe.68.2017.06.19.05.48.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Jun 2017 05:48:22 -0700 (PDT) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 2D8BEC06586F Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=libvir-list-bounces@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 2D8BEC06586F Authentication-Results: mx1.redhat.com; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Ak9GJMP2" DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 0BBC418E3CE Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ext-mx05.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=bogorodskiy@gmail.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 0BBC418E3CE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=6Ae0LmF48OgKjqFs4rBei00WpByfAW2XblTsMTlqs2Y=; b=Ak9GJMP2Oc4rmeGvbW6DYJLtjGleeyhkHVQoO59UtiRV7pJnGn0hKRitol0qmU/kxO MoBmUQKTAnka8FCoyI+t+XgCIjtiMb2sM4GqN4e1kzoCbgwKvACbUbnku5nO7JnAQ595 wusK4Czn3FknvaDaxXpxnKwgsk5az9kdZ0A7EwJa9XNAJ2inuQP1rf4EBGeHyzOJnlyC 03wAiCfj4Umw1EE9z1loyY37FUVxE1UB6LjhDXjnTFePgQ3Bwg3XzJ8JNvzvPX7beujb AwkAXb5cdOIrODI9vZk/JO+Mu2PtMGrXurdkSnHC3Q8kFQ0Rjdf9d+8VhZcz3BfUVAqX MuwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=6Ae0LmF48OgKjqFs4rBei00WpByfAW2XblTsMTlqs2Y=; b=RV1PMC1OYsfbGVim5wlKns7M0QNg7ISFj2mCU1Mc3uKJo/3TreHhaMdRmL+jw6zBIt KwDfhcMwkC3qcbUGkyn8994+VuxhF2lBi9t8AJHlhOI0zkiOZ7e2wvdswA8hCHLOVhcm qMpJu+Ylejs4h7lvYbv22JSVRh6mbjOKYm2YPE6V7HWD9cxi6CvbVgGnOQ/wTGTDwQOR V7bY5E5+dpVdv8M0CXWZpurjQ8BkmYxJApt2pY+Jkf5ZrYn1jvx0pWsl2UNGTeIsvLx0 DeBmTu5ljpzJZ7gedyGvyHsNrMINWcM+IZ+jIGoyeoIu5qroh0Usl58Ipiq3SKs2mtUL 1evQ== X-Gm-Message-State: AKS2vOyvzt3agPT2hZDo3L7XLz3qlXezwzlIlQ8rYFa1t2J9RnAyo2lo JBuvnuor0YWQu8H2 X-Received: by 10.25.33.149 with SMTP id h143mr7667987lfh.132.1497876503019; Mon, 19 Jun 2017 05:48:23 -0700 (PDT) From: Roman Bogorodskiy To: libvir-list@redhat.com Date: Mon, 19 Jun 2017 16:48:13 +0400 Message-Id: <20170619124813.85031-1-bogorodskiy@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 19 Jun 2017 12:48:25 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Mon, 19 Jun 2017 12:48:25 +0000 (UTC) for IP:'209.85.215.66' DOMAIN:'mail-lf0-f66.google.com' HELO:'mail-lf0-f66.google.com' FROM:'bogorodskiy@gmail.com' RCPT:'' X-RedHat-Spam-Score: 0.67 (BAYES_50, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_PASS) 209.85.215.66 mail-lf0-f66.google.com 209.85.215.66 mail-lf0-f66.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.29 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Roman Bogorodskiy Subject: [libvirt] [PATCH] bhyve: add vga configuration for video driver X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 19 Jun 2017 12:48:50 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Add support for vgaconf driver configuration. In domain xml it looks like this: It was added with bhyve gop video in mind to allow users control how the video device is exposed to the guest, specifically, how VGA I/O is handled. One can refer to the bhyve manual page to get more detailed description of the possible VGA configuration options: https://www.freebsd.org/cgi/man.cgi?query=3Dbhyve&manpath=3DFreeBSD+12-curr= ent The relevant part could be found using the 'vgaconf' keyword. Also, add some tests for this new feature. Signed-off-by: Roman Bogorodskiy --- Changes from v1: * Rebased on top of current master. Specifically, the most important bit was merging with f5384fb4 which has added video/driver element * In conjunction with f5384fb4 use video/driver element instead of=20 video/model/driver * Squash in conf and bhyve patches to make it easier to understand how it's used * Rename *Vgaconf* to *VGAConf* * Add a little more tests =20 docs/schemas/domaincommon.rng | 13 ++++- src/bhyve/bhyve_command.c | 4 ++ src/conf/domain_conf.c | 57 ++++++++++++++++++= ++-- src/conf/domain_conf.h | 17 +++++++ src/libvirt_private.syms | 2 + .../bhyvexml2argv-vnc-vgaconf-io.args | 12 +++++ .../bhyvexml2argv-vnc-vgaconf-io.ldargs | 1 + .../bhyvexml2argv-vnc-vgaconf-io.xml | 30 ++++++++++++ .../bhyvexml2argv-vnc-vgaconf-off.args | 12 +++++ .../bhyvexml2argv-vnc-vgaconf-off.ldargs | 1 + .../bhyvexml2argv-vnc-vgaconf-off.xml | 30 ++++++++++++ .../bhyvexml2argv-vnc-vgaconf-on.args | 12 +++++ .../bhyvexml2argv-vnc-vgaconf-on.ldargs | 1 + .../bhyvexml2argv-vnc-vgaconf-on.xml | 30 ++++++++++++ tests/bhyvexml2argvtest.c | 3 ++ .../bhyvexml2xmlout-vnc-vgaconf-io.xml | 41 ++++++++++++++++ .../bhyvexml2xmlout-vnc-vgaconf-off.xml | 42 ++++++++++++++++ .../bhyvexml2xmlout-vnc-vgaconf-on.xml | 42 ++++++++++++++++ tests/bhyvexml2xmltest.c | 3 ++ 19 files changed, 348 insertions(+), 5 deletions(-) create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ar= gs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ld= args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.a= rgs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.l= dargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.x= ml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ar= gs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ld= args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-i= o.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-o= ff.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-o= n.xml diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 4950ddc10..51acac3ee 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -3220,7 +3220,18 @@ - + + + + + + + io + on + off + + + diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index eae5cb3ca..b3ae315bd 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -408,6 +408,10 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def ATTRI= BUTE_UNUSED, _("Unsupported listen type")); } =20 + if (video->driver) + virBufferAsprintf(&opt, ",vga=3D%s", + virDomainVideoVGAConfTypeToString(video->driver-= >vgaconf)); + virCommandAddArg(cmd, "-s"); virCommandAddArgBuffer(cmd, &opt); return 0; diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 4f79d3825..1e9f91ca8 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -560,6 +560,11 @@ VIR_ENUM_IMPL(virDomainVideo, VIR_DOMAIN_VIDEO_TYPE_LA= ST, "virtio", "gop") =20 +VIR_ENUM_IMPL(virDomainVideoVGAConf, VIR_DOMAIN_VIDEO_VGACONF_LAST, + "io", + "on", + "off") + VIR_ENUM_IMPL(virDomainInput, VIR_DOMAIN_INPUT_TYPE_LAST, "mouse", "tablet", @@ -2355,6 +2360,7 @@ void virDomainVideoDefFree(virDomainVideoDefPtr def) =20 VIR_FREE(def->accel); VIR_FREE(def->virtio); + VIR_FREE(def->driver); VIR_FREE(def); } =20 @@ -13529,6 +13535,43 @@ virDomainVideoAccelDefParseXML(xmlNodePtr node) return def; } =20 +static virDomainVideoDriverDefPtr +virDomainVideoDriverDefParseXML(xmlNodePtr node) +{ + xmlNodePtr cur; + virDomainVideoDriverDefPtr def; + char *vgaconf =3D NULL; + int val; + + cur =3D node->children; + while (cur !=3D NULL) { + if (cur->type =3D=3D XML_ELEMENT_NODE) { + if (!vgaconf && + xmlStrEqual(cur->name, BAD_CAST "driver")) { + vgaconf =3D virXMLPropString(cur, "vgaconf"); + } + } + cur =3D cur->next; + } + + if (!vgaconf) + return NULL; + + if (VIR_ALLOC(def) < 0) + goto cleanup; + + if ((val =3D virDomainVideoVGAConfTypeFromString(vgaconf)) <=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("unknown vgaconf value '%s'"), vgaconf); + goto cleanup; + } + def->vgaconf =3D val; + + cleanup: + VIR_FREE(vgaconf); + return def; +} + static virDomainVideoDefPtr virDomainVideoDefParseXML(xmlNodePtr node, xmlXPathContextPtr ctxt, @@ -13652,6 +13695,8 @@ virDomainVideoDefParseXML(xmlNodePtr node, if (virDomainVirtioOptionsParseXML(ctxt, &def->virtio) < 0) goto error; =20 + def->driver =3D virDomainVideoDriverDefParseXML(node); + cleanup: ctxt->node =3D saved; =20 @@ -23386,7 +23431,6 @@ virDomainVideoAccelDefFormat(virBufferPtr buf, virBufferAddLit(buf, "/>\n"); } =20 - static int virDomainVideoDefFormat(virBufferPtr buf, virDomainVideoDefPtr def, @@ -23406,9 +23450,13 @@ virDomainVideoDefFormat(virBufferPtr buf, virDomainVirtioOptionsFormat(&driverBuf, def->virtio); if (virBufferCheckError(&driverBuf) < 0) return -1; - if (virBufferUse(&driverBuf)) { + if (virBufferUse(&driverBuf) || (def->driver && def->driver->vgaconf))= { virBufferAddLit(buf, "driver && def->driver->vgaconf) + virBufferAsprintf(buf, " vgaconf=3D'%s'", + virDomainVideoVGAConfTypeToString(def->drive= r->vgaconf)); virBufferAddLit(buf, "/>\n"); } virBufferAsprintf(buf, "accel) { virBufferAddLit(buf, ">\n"); virBufferAdjustIndent(buf, 2); - virDomainVideoAccelDefFormat(buf, def->accel); + if (def->accel) + virDomainVideoAccelDefFormat(buf, def->accel); virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); } else { diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 6d9ee9787..964bc02f9 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -1359,6 +1359,16 @@ typedef enum { } virDomainVideoType; =20 =20 +typedef enum { + VIR_DOMAIN_VIDEO_VGACONF_IO =3D 0, + VIR_DOMAIN_VIDEO_VGACONF_ON, + VIR_DOMAIN_VIDEO_VGACONF_OFF, + + VIR_DOMAIN_VIDEO_VGACONF_LAST +} virDomainVideoVGAConf; + +VIR_ENUM_DECL(virDomainVideoVGAConf) + typedef struct _virDomainVideoAccelDef virDomainVideoAccelDef; typedef virDomainVideoAccelDef *virDomainVideoAccelDefPtr; struct _virDomainVideoAccelDef { @@ -1367,6 +1377,12 @@ struct _virDomainVideoAccelDef { }; =20 =20 +typedef struct _virDomainVideoDriverDef virDomainVideoDriverDef; +typedef virDomainVideoDriverDef *virDomainVideoDriverDefPtr; +struct _virDomainVideoDriverDef { + virDomainVideoVGAConf vgaconf; +}; + struct _virDomainVideoDef { int type; unsigned int ram; /* kibibytes (multiples of 1024) */ @@ -1376,6 +1392,7 @@ struct _virDomainVideoDef { unsigned int heads; bool primary; virDomainVideoAccelDefPtr accel; + virDomainVideoDriverDefPtr driver; virDomainDeviceInfo info; virDomainVirtioOptionsPtr virtio; }; diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 044510f09..41ca62631 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -530,6 +530,8 @@ virDomainVideoDefaultType; virDomainVideoDefFree; virDomainVideoTypeFromString; virDomainVideoTypeToString; +virDomainVideoVGAConfTypeFromString; +virDomainVideoVGAConfTypeToString; virDomainVirtTypeFromString; virDomainVirtTypeToString; virDomainWatchdogActionTypeFromString; diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.args b/te= sts/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.args new file mode 100644 index 000000000..da3797100 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.args @@ -0,0 +1,12 @@ +/usr/sbin/bhyve \ +-c 1 \ +-m 214 \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-l bootrom,/path/to/test.fd \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:00:00:00 \ +-s 4:0,fbuf,tcp=3D127.0.0.1:5904,vga=3Dio \ +-s 1,lpc bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ldargs b/= tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ldargs new file mode 100644 index 000000000..421376db9 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ldargs @@ -0,0 +1 @@ +dummy diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.xml b/tes= ts/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.xml new file mode 100644 index 000000000..b1bb3793d --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.xml @@ -0,0 +1,30 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + /path/to/test.fd + + + + + + +
+ + + + +
+ + + + + + + diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.args b/t= ests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.args new file mode 100644 index 000000000..70347ee0b --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.args @@ -0,0 +1,12 @@ +/usr/sbin/bhyve \ +-c 1 \ +-m 214 \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-l bootrom,/path/to/test.fd \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:00:00:00 \ +-s 4:0,fbuf,tcp=3D127.0.0.1:5904,vga=3Doff \ +-s 1,lpc bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.ldargs b= /tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.ldargs new file mode 100644 index 000000000..421376db9 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.ldargs @@ -0,0 +1 @@ +dummy diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.xml b/te= sts/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.xml new file mode 100644 index 000000000..6e9582840 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.xml @@ -0,0 +1,30 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + /path/to/test.fd + + + + + + +
+ + + + +
+ + + + + + + diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.args b/te= sts/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.args new file mode 100644 index 000000000..d0e1d81e2 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.args @@ -0,0 +1,12 @@ +/usr/sbin/bhyve \ +-c 1 \ +-m 214 \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-l bootrom,/path/to/test.fd \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:00:00:00 \ +-s 4:0,fbuf,tcp=3D127.0.0.1:5904,vga=3Don \ +-s 1,lpc bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ldargs b/= tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ldargs new file mode 100644 index 000000000..421376db9 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ldargs @@ -0,0 +1 @@ +dummy diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.xml b/tes= ts/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.xml new file mode 100644 index 000000000..a270f6334 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.xml @@ -0,0 +1,30 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + /path/to/test.fd + + + + + + +
+ + + + +
+ + + + + + + diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c index c8f8c685a..72f10ebc1 100644 --- a/tests/bhyvexml2argvtest.c +++ b/tests/bhyvexml2argvtest.c @@ -193,6 +193,9 @@ mymain(void) DO_TEST("net-e1000"); DO_TEST("uefi"); DO_TEST("vnc"); + DO_TEST("vnc-vgaconf-on"); + DO_TEST("vnc-vgaconf-off"); + DO_TEST("vnc-vgaconf-io"); =20 /* Address allocation tests */ DO_TEST("addr-single-sata-disk"); diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-io.xml b= /tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-io.xml new file mode 100644 index 000000000..9e470e432 --- /dev/null +++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-io.xml @@ -0,0 +1,41 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 219136 + 1 + + hvm + /path/to/test.fd + + + + destroy + restart + destroy + + + + + +
+ + + +
+ + + + + +
+ + + + +