From nobody Mon Apr 29 22:44:44 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 1497884238977628.7004959565088; Mon, 19 Jun 2017 07:57:18 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 21A6285359; Mon, 19 Jun 2017 14:57:16 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9C69689C49; Mon, 19 Jun 2017 14:57:15 +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 1926E4BB75; Mon, 19 Jun 2017 14:57:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v5JEvChk029069 for ; Mon, 19 Jun 2017 10:57:12 -0400 Received: by smtp.corp.redhat.com (Postfix) id C3A3B77ED7; Mon, 19 Jun 2017 14:57:12 +0000 (UTC) Received: from mx1.redhat.com (ext-mx06.extmail.prod.ext.phx2.redhat.com [10.5.110.30]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AA72B7F1D9 for ; Mon, 19 Jun 2017 14:57:10 +0000 (UTC) Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) (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 E8F6C3DBED for ; Mon, 19 Jun 2017 14:57:07 +0000 (UTC) Received: by mail-lf0-f65.google.com with SMTP id v20so10951659lfa.2 for ; Mon, 19 Jun 2017 07:57:07 -0700 (PDT) Received: from kloomba.mnv.mirantis.net ([31.29.239.45]) by smtp.gmail.com with ESMTPSA id g7sm2450172lji.35.2017.06.19.07.57.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 19 Jun 2017 07:57:04 -0700 (PDT) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 21A6285359 Authentication-Results: ext-mx01.extmail.prod.ext.phx2.redhat.com; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ext-mx01.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 21A6285359 Authentication-Results: mx1.redhat.com; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ohr6wu0J" DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com E8F6C3DBED Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ext-mx06.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=bogorodskiy@gmail.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com E8F6C3DBED DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=2GlqI0j/17odGRjxvTFIoELV9XHxrFBFV5RmOqw5lVM=; b=ohr6wu0JHrPNSZqnSsbAIbM/QJ78hlZI8x+BoAVkCJNm1hrS/qspebWzUpLnYq3fDq cuzVq6yss/J5ONqesu4okLG112JA362OVXwRGAN7++TGsGitgT3GfZzm1ytLSc2cMnWz KGUWrllMvV8hntUORM8W85D4Jju8sJjn/qMljMCujIoAPC3H6F0BV5BLh/IK5KakrxQe TEX6DtLmMsmERFT2PZd1y4wKeHfL7BSaH/w44wXixaFN73mA5IeFaYz6PzOcKYgfdfpX wOunIbGI7PrMLYlzxhqxrbUb3wSai9XEHa2SAIERVXQ8EhP54muAlU+uMWYNW/T7q14R 7Nvg== 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=2GlqI0j/17odGRjxvTFIoELV9XHxrFBFV5RmOqw5lVM=; b=b9b8g7SmaQbYGT0tvkwcU2Y10U2GyMG+cP1azuOyUrWNQ/s6ONJAi2BKxPlIAlv9Aj /6P973opd6BTlpUa1G60xN9j4xk5tjvWOZirmaPYqb41zqgd7sJeEObXN6Mj60vdjW+i hYEYH/qmlt2FgWoN01Sd7SxwkaPB1lSeXpCowA2yrc38WzM8NFza/iR5ToMaWXX/AsRu 3o9qh+RtJze+GxEOA9aiI4Lbz4Urdnuag8fkwh6PHj2iQUBnvEPlfosQnPuHiGwlQ0IS W9QDgmTiNsZ0EqpX2HiVW5wk9pHHNwcTyQLp42nIcEzrJoVyvmU3NmaIvx2XGFh0E1M9 PWnw== X-Gm-Message-State: AKS2vOyuCh11aA+7qrFfb9LVbev4fOLb2ZR+ciG4KXLQAM4tAmmfPBda x++e1rMduRcBJppz X-Received: by 10.25.16.89 with SMTP id f86mr8542526lfi.100.1497884225742; Mon, 19 Jun 2017 07:57:05 -0700 (PDT) From: Roman Bogorodskiy To: libvir-list@redhat.com Date: Mon, 19 Jun 2017 18:56:57 +0400 Message-Id: <20170619145657.90688-1-bogorodskiy@gmail.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 19 Jun 2017 14:57:08 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Mon, 19 Jun 2017 14:57:08 +0000 (UTC) for IP:'209.85.215.65' DOMAIN:'mail-lf0-f65.google.com' HELO:'mail-lf0-f65.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.65 mail-lf0-f65.google.com 209.85.215.65 mail-lf0-f65.google.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.30 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-loop: libvir-list@redhat.com Cc: Roman Bogorodskiy Subject: [libvirt] [PATCH v3] 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Mon, 19 Jun 2017 14:57:17 +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 Reviewed-by: John Ferlan --- 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 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 Changes from v2: * Add option description to formatdomain.html.in docs/formatdomain.html.in | 9 +++- 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 ++ 20 files changed, 356 insertions(+), 6 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/formatdomain.html.in b/docs/formatdomain.html.in index 52119f0a0..9e7bb51ba 100644 --- a/docs/formatdomain.html.in +++ b/docs/formatdomain.html.in @@ -6151,7 +6151,14 @@ qemu-kvm -net nic,model=3D? /dev/null
virtio options
Virtio-specific options can also= be - set. (Since 3.5.0) + set (Since 3.5.0) +
+
VGA configuration
+
+ Control how the video devices exposed to the guest using the + vgaconf attribute which takes the value "io", "on" = or "off". + At present, it's only applicable to the bhyve's "gop" video mode= l type + (Since 3.5.0)
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 + + + + + +
+ + + +
+ + + + + +
+ + + + +