
John Ferlan wrote:
On 06/19/2017 10:56 AM, Roman Bogorodskiy wrote:
Add support for vgaconf driver configuration. In domain xml it looks like this:
<video> <driver vgaconf='io|on|off'> <model .../> </video>
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=bhyve&manpath=FreeBSD+12-current
The relevant part could be found using the 'vgaconf' keyword.
Also, add some tests for this new feature.
Signed-off-by: Roman Bogorodskiy <bogorodskiy@gmail.com> --- 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.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-io.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-off.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-vgaconf-on.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-io.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-off.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-vgaconf-on.xml
Reviewed-by: John Ferlan <jferlan@redhat.com>
John
Pushed, thanks! Roman Bogorodskiy