[libvirt] [PATCH v2 0/7] Enable vfio-pci 'property' for mediated device

Erik Skultety posted 7 patches 5 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1531151382.git.eskultet@redhat.com
Test syntax-check passed
There is a newer version of this series
docs/formatdomain.html.in                          |  52 ++++++++-
docs/news.xml                                      |  10 ++
docs/schemas/domaincommon.rng                      |   8 ++
src/conf/domain_conf.c                             |  67 ++++++++++-
src/conf/domain_conf.h                             |   5 +
src/libvirt_private.syms                           |   1 +
src/libxl/libxl_conf.c                             |   1 +
src/qemu/qemu_capabilities.c                       |   8 ++
src/qemu/qemu_capabilities.h                       |   2 +
src/qemu/qemu_command.c                            |  59 +++++++++-
src/qemu/qemu_domain.c                             | 122 ++++++++++++++++++++-
src/qemu/qemu_driver.c                             |   2 +
src/qemu/qemu_hotplug.c                            |   1 +
src/qemu/qemu_process.c                            |   4 +
src/vmx/vmx.c                                      |   1 +
tests/domaincapsschemadata/full.xml                |   1 +
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml |   1 +
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   1 +
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   2 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   2 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   2 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   2 +
tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml    |   2 +
tests/qemuxml2argvdata/graphics-egl-headless.args  |  26 +++++
tests/qemuxml2argvdata/graphics-egl-headless.xml   |  31 ++++++
.../qemuxml2argvdata/graphics-sdl-egl-headless.xml |  35 ++++++
.../graphics-spice-egl-headless.args               |  31 ++++++
.../graphics-spice-egl-headless.xml                |  36 ++++++
.../graphics-spice-invalid-egl-headless.xml        |  37 +++++++
.../graphics-vnc-egl-headless.args                 |  28 +++++
.../qemuxml2argvdata/graphics-vnc-egl-headless.xml |  37 +++++++
.../hostdev-mdev-display-missing-graphics.xml      |  35 ++++++
.../hostdev-mdev-display-spice-egl-headless.args   |  32 ++++++
.../hostdev-mdev-display-spice-egl-headless.xml    |  40 +++++++
.../hostdev-mdev-display-spice-opengl.args         |  31 ++++++
.../hostdev-mdev-display-spice-opengl.xml          |  41 +++++++
.../hostdev-mdev-display-vnc-egl-headless.args     |  32 ++++++
.../hostdev-mdev-display-vnc-egl-headless.xml      |  40 +++++++
.../qemuxml2argvdata/hostdev-mdev-display-vnc.args |  31 ++++++
.../qemuxml2argvdata/hostdev-mdev-display-vnc.xml  |  39 +++++++
tests/qemuxml2argvdata/hostdev-mdev-display.xml    |  39 +++++++
tests/qemuxml2argvtest.c                           |  48 ++++++++
.../graphics-spice-egl-headless.xml                |  44 ++++++++
.../graphics-vnc-egl-headless.xml                  |  42 +++++++
.../hostdev-mdev-display-active.xml                |  47 ++++++++
.../hostdev-mdev-display-inactive.xml              |  47 ++++++++
tests/qemuxml2xmltest.c                            |   4 +
50 files changed, 1202 insertions(+), 10 deletions(-)
create mode 100644 tests/qemuxml2argvdata/graphics-egl-headless.args
create mode 100644 tests/qemuxml2argvdata/graphics-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/graphics-sdl-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/graphics-spice-egl-headless.args
create mode 100644 tests/qemuxml2argvdata/graphics-spice-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/graphics-spice-invalid-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/graphics-vnc-egl-headless.args
create mode 100644 tests/qemuxml2argvdata/graphics-vnc-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-missing-graphics.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.args
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.args
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.args
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc.args
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc.xml
create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display.xml
create mode 100644 tests/qemuxml2xmloutdata/graphics-spice-egl-headless.xml
create mode 100644 tests/qemuxml2xmloutdata/graphics-vnc-egl-headless.xml
create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-active.xml
create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-inactive.xml
[libvirt] [PATCH v2 0/7] Enable vfio-pci 'property' for mediated device
Posted by Erik Skultety 5 years, 8 months ago
RFC here:
https://www.redhat.com/archives/libvir-list/2018-May/msg02218.html

Since v1 [1]:
- remodeled egl-headless to be a standalone graphics element instead of a
result of some automagic with graphic's <gl> element
- pushed the first 5 simple fixes that were RB'd
- fixed some nits raised during review

[1] https://www.redhat.com/archives/libvir-list/2018-June/msg01740.html

Erik Skultety (7):
  qemu: caps: Introduce a capability for egl-headless
  conf: Introduce a new graphics display type 'headless'
  qemu: caps: Add vfio-pci.display capability
  conf: Introduce virDomainGraphicsDefHasOpenGL helper
  conf: Introduce new <hostdev> attribute 'display'
  qemu: command: Enable formatting vfio-pci.display option onto cmdline
  docs: Update news about the VNC console enablement for mdevs

 docs/formatdomain.html.in                          |  52 ++++++++-
 docs/news.xml                                      |  10 ++
 docs/schemas/domaincommon.rng                      |   8 ++
 src/conf/domain_conf.c                             |  67 ++++++++++-
 src/conf/domain_conf.h                             |   5 +
 src/libvirt_private.syms                           |   1 +
 src/libxl/libxl_conf.c                             |   1 +
 src/qemu/qemu_capabilities.c                       |   8 ++
 src/qemu/qemu_capabilities.h                       |   2 +
 src/qemu/qemu_command.c                            |  59 +++++++++-
 src/qemu/qemu_domain.c                             | 122 ++++++++++++++++++++-
 src/qemu/qemu_driver.c                             |   2 +
 src/qemu/qemu_hotplug.c                            |   1 +
 src/qemu/qemu_process.c                            |   4 +
 src/vmx/vmx.c                                      |   1 +
 tests/domaincapsschemadata/full.xml                |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml  |   1 +
 tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml   |   1 +
 tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml |   2 +
 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml   |   2 +
 tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml   |   2 +
 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml  |   2 +
 tests/qemucapabilitiesdata/caps_3.0.0.ppc64.xml    |   2 +
 tests/qemuxml2argvdata/graphics-egl-headless.args  |  26 +++++
 tests/qemuxml2argvdata/graphics-egl-headless.xml   |  31 ++++++
 .../qemuxml2argvdata/graphics-sdl-egl-headless.xml |  35 ++++++
 .../graphics-spice-egl-headless.args               |  31 ++++++
 .../graphics-spice-egl-headless.xml                |  36 ++++++
 .../graphics-spice-invalid-egl-headless.xml        |  37 +++++++
 .../graphics-vnc-egl-headless.args                 |  28 +++++
 .../qemuxml2argvdata/graphics-vnc-egl-headless.xml |  37 +++++++
 .../hostdev-mdev-display-missing-graphics.xml      |  35 ++++++
 .../hostdev-mdev-display-spice-egl-headless.args   |  32 ++++++
 .../hostdev-mdev-display-spice-egl-headless.xml    |  40 +++++++
 .../hostdev-mdev-display-spice-opengl.args         |  31 ++++++
 .../hostdev-mdev-display-spice-opengl.xml          |  41 +++++++
 .../hostdev-mdev-display-vnc-egl-headless.args     |  32 ++++++
 .../hostdev-mdev-display-vnc-egl-headless.xml      |  40 +++++++
 .../qemuxml2argvdata/hostdev-mdev-display-vnc.args |  31 ++++++
 .../qemuxml2argvdata/hostdev-mdev-display-vnc.xml  |  39 +++++++
 tests/qemuxml2argvdata/hostdev-mdev-display.xml    |  39 +++++++
 tests/qemuxml2argvtest.c                           |  48 ++++++++
 .../graphics-spice-egl-headless.xml                |  44 ++++++++
 .../graphics-vnc-egl-headless.xml                  |  42 +++++++
 .../hostdev-mdev-display-active.xml                |  47 ++++++++
 .../hostdev-mdev-display-inactive.xml              |  47 ++++++++
 tests/qemuxml2xmltest.c                            |   4 +
 50 files changed, 1202 insertions(+), 10 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/graphics-egl-headless.args
 create mode 100644 tests/qemuxml2argvdata/graphics-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-sdl-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-spice-egl-headless.args
 create mode 100644 tests/qemuxml2argvdata/graphics-spice-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-spice-invalid-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/graphics-vnc-egl-headless.args
 create mode 100644 tests/qemuxml2argvdata/graphics-vnc-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-missing-graphics.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-spice-opengl.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc-egl-headless.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc.args
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display-vnc.xml
 create mode 100644 tests/qemuxml2argvdata/hostdev-mdev-display.xml
 create mode 100644 tests/qemuxml2xmloutdata/graphics-spice-egl-headless.xml
 create mode 100644 tests/qemuxml2xmloutdata/graphics-vnc-egl-headless.xml
 create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-active.xml
 create mode 100644 tests/qemuxml2xmloutdata/hostdev-mdev-display-inactive.xml

--
2.14.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH v2 0/7] Enable vfio-pci 'property' for mediated device
Posted by Erik Skultety 5 years, 8 months ago
On Mon, Jul 09, 2018 at 06:24:12PM +0200, Erik Skultety wrote:
> RFC here:
> https://www.redhat.com/archives/libvir-list/2018-May/msg02218.html
>
> Since v1 [1]:
> - remodeled egl-headless to be a standalone graphics element instead of a
> result of some automagic with graphic's <gl> element
> - pushed the first 5 simple fixes that were RB'd
> - fixed some nits raised during review
>
> [1] https://www.redhat.com/archives/libvir-list/2018-June/msg01740.html

I forgot to mention one problem with this. Both virt-viewer and virt-manager
take the first display in the XML and try to connect to it, which obviously
fails with egl-headless since there's no backing server running within QEMU
that would return the frames, so they fail with error "Can't connect to display
egl-headless". But that's not a problem libvirt should be fixing, the tools
should look for another suitable graphics display they can connect to.
As a workaround, just provide either vnc or spice graphics before egl-headless
in the XML and both tools stop complaining.

Erik

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list