[libvirt] [PATCH v4 08/10] conf: Introduce new <hostdev> attribute 'display'

Ján Tomko jtomko at redhat.com
Wed Jul 18 15:06:28 UTC 2018


On Wed, Jul 18, 2018 at 02:31:44PM +0200, Erik Skultety wrote:
>QEMU 2.12 introduced a new type of display for mediated devices using
>vfio-pci backend which allows a mediated device to be used as a VGA
>compatible device as an alternative to an emulated video device. QEMU
>exposes this feature via a vfio device property 'display' with supported
>values 'on/off/auto' (libvirt will default to 'off').
>
>This patch adds the necessary bits to domain config handling in order to
>expose this feature. Since there's no convenient way for libvirt to come
>up with usable defaults for the display setting, simply because libvirt
>is not able to figure out which of the display implementations - dma-buf
>which requires OpenGL support vs vfio regions which doesn't need OpenGL
>(works with OpenGL enabled too) - the underlying mdev uses.
>
>Signed-off-by: Erik Skultety <eskultet at redhat.com>
>Reviewed-by: Ján Tomko <jtomko at redhat.com>
>---
> docs/formatdomain.html.in                         | 20 ++++-
> docs/schemas/domaincommon.rng                     |  5 ++
> src/conf/domain_conf.c                            | 19 ++++-
> src/conf/domain_conf.h                            |  1 +
> src/qemu/qemu_domain.c                            | 94 ++++++++++++++++++++++-
> tests/qemuxml2argvdata/hostdev-mdev-display.xml   | 39 ++++++++++
> tests/qemuxml2xmloutdata/hostdev-mdev-display.xml | 47 ++++++++++++
> tests/qemuxml2xmltest.c                           |  1 +
> 8 files changed, 220 insertions(+), 6 deletions(-)
> create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display.xml
> create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display.xml
>

>@@ -6286,6 +6373,9 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
>     case VIR_DOMAIN_DEVICE_INPUT:
>     case VIR_DOMAIN_DEVICE_SOUND:
>     case VIR_DOMAIN_DEVICE_HOSTDEV:
>+        ret = qemuDomainHostdevDefPostParse(dev->data.hostdev, qemuCaps);
>+        break;

This should only be called for VIR_DOMAIN_DEVICE_HOSTDEV, not the other
device types listed above.

Jano

>+
>     case VIR_DOMAIN_DEVICE_WATCHDOG:
>     case VIR_DOMAIN_DEVICE_GRAPHICS:
>     case VIR_DOMAIN_DEVICE_HUB:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20180718/6906ca24/attachment-0001.sig>


More information about the libvir-list mailing list