[Qemu-devel] [PATCH v5 0/7] vfio: add display support

Gerd Hoffmann posted 7 patches 7 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180227085209.19151-1-kraxel@redhat.com
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test ppcbe passed
Test ppcle passed
Test s390x passed
There is a newer version of this series
hw/vfio/pci.h                                      |   4 +
include/hw/vfio/vfio-common.h                      |  22 ++
include/standard-headers/drm/drm_fourcc.h          | 411 +++++++++++++++++++++
include/standard-headers/linux/input-event-codes.h |   1 +
include/standard-headers/linux/input.h             |  11 +
include/standard-headers/linux/pci_regs.h          |  30 +-
include/standard-headers/linux/virtio_net.h        |  13 +
include/ui/qemu-pixman.h                           |   5 +
linux-headers/asm-powerpc/kvm.h                    |   2 +
linux-headers/asm-powerpc/unistd.h                 |   3 +
linux-headers/asm-s390/unistd.h                    | 401 +-------------------
linux-headers/asm-s390/unistd_32.h                 | 364 ++++++++++++++++++
linux-headers/asm-s390/unistd_64.h                 | 331 +++++++++++++++++
linux-headers/asm-x86/kvm_para.h                   |   4 +
linux-headers/linux/kvm.h                          |  90 +++++
linux-headers/linux/psci.h                         |   3 +
linux-headers/linux/vfio.h                         |  72 ++++
hw/vfio/common.c                                   |   7 +
hw/vfio/display.c                                  | 286 ++++++++++++++
hw/vfio/pci.c                                      |  30 ++
ui/qemu-pixman.c                                   |  22 ++
hw/vfio/Makefile.objs                              |   2 +-
scripts/update-linux-headers.sh                    |   7 +
23 files changed, 1710 insertions(+), 411 deletions(-)
create mode 100644 include/standard-headers/drm/drm_fourcc.h
create mode 100644 linux-headers/asm-s390/unistd_32.h
create mode 100644 linux-headers/asm-s390/unistd_64.h
create mode 100644 hw/vfio/display.c
[Qemu-devel] [PATCH v5 0/7] vfio: add display support
Posted by Gerd Hoffmann 7 years, 7 months ago
This series adds support for a vgpu display to the qemu vfio code.

v5:
 - rebase to latest master
 - drop DeviceState->hotpluggable patch, use separate vfio-pci-display
   device instead so we can use DeviceClass->hotpluggable.
 - add vfio dma-buf patch.  Right now this can be tested with '-display
   egl-headless' only.  gtk and spice support is almost ready for merge
   and should follow soon.

cheers,
  Gerd

Gerd Hoffmann (7):
  linux-headers: update to 4.16-rc1
  standard-headers: add drm/drm_fourcc.h
  ui/pixman: add qemu_drm_format_to_pixman()
  vfio/common: cleanup in vfio_region_finalize
  vfio/display: core & wireup
  vfio/display: adding region support
  vfio/display: adding dmabuf support

 hw/vfio/pci.h                                      |   4 +
 include/hw/vfio/vfio-common.h                      |  22 ++
 include/standard-headers/drm/drm_fourcc.h          | 411 +++++++++++++++++++++
 include/standard-headers/linux/input-event-codes.h |   1 +
 include/standard-headers/linux/input.h             |  11 +
 include/standard-headers/linux/pci_regs.h          |  30 +-
 include/standard-headers/linux/virtio_net.h        |  13 +
 include/ui/qemu-pixman.h                           |   5 +
 linux-headers/asm-powerpc/kvm.h                    |   2 +
 linux-headers/asm-powerpc/unistd.h                 |   3 +
 linux-headers/asm-s390/unistd.h                    | 401 +-------------------
 linux-headers/asm-s390/unistd_32.h                 | 364 ++++++++++++++++++
 linux-headers/asm-s390/unistd_64.h                 | 331 +++++++++++++++++
 linux-headers/asm-x86/kvm_para.h                   |   4 +
 linux-headers/linux/kvm.h                          |  90 +++++
 linux-headers/linux/psci.h                         |   3 +
 linux-headers/linux/vfio.h                         |  72 ++++
 hw/vfio/common.c                                   |   7 +
 hw/vfio/display.c                                  | 286 ++++++++++++++
 hw/vfio/pci.c                                      |  30 ++
 ui/qemu-pixman.c                                   |  22 ++
 hw/vfio/Makefile.objs                              |   2 +-
 scripts/update-linux-headers.sh                    |   7 +
 23 files changed, 1710 insertions(+), 411 deletions(-)
 create mode 100644 include/standard-headers/drm/drm_fourcc.h
 create mode 100644 linux-headers/asm-s390/unistd_32.h
 create mode 100644 linux-headers/asm-s390/unistd_64.h
 create mode 100644 hw/vfio/display.c

-- 
2.9.3


Re: [libvirt] [PATCH v5 0/7] vfio: add display support
Posted by Alex Williamson 7 years, 7 months ago
[CC +libvirt]

On Tue, 27 Feb 2018 09:52:02 +0100
Gerd Hoffmann <kraxel@redhat.com> wrote:

> This series adds support for a vgpu display to the qemu vfio code.
> 
> v5:
>  - rebase to latest master
>  - drop DeviceState->hotpluggable patch, use separate vfio-pci-display
>    device instead so we can use DeviceClass->hotpluggable.

I can't imagine that management layers are going to be happy with this
approach, it's one thing to have certain USB controllers where the
version intimately tied to the machine chipset is not hotpluggable,
while standalone versions are, but having a fork of an entirely
standalone device for this purpose sounds very invasive.  What does the
XML look like that would make libvirt select this option?  I'm still
thinking that a separate display device, which vfio-pci can bind to as
a device option, not affecting the hotplug-ability of the vfio-pci
device itself is the correct, but clearly difficult, approach to this.
I can't agree to a separate device unless libvirt is willing to sign up
for enabling it.

Furthermore, if we take the separate device approach, shouldn't it be
something like vfio-pci-nohotplug, where display is an option only for
this version of the DeviceClass?  Thanks,

Alex

>  - add vfio dma-buf patch.  Right now this can be tested with '-display
>    egl-headless' only.  gtk and spice support is almost ready for merge
>    and should follow soon.
> 
> cheers,
>   Gerd
> 
> Gerd Hoffmann (7):
>   linux-headers: update to 4.16-rc1
>   standard-headers: add drm/drm_fourcc.h
>   ui/pixman: add qemu_drm_format_to_pixman()
>   vfio/common: cleanup in vfio_region_finalize
>   vfio/display: core & wireup
>   vfio/display: adding region support
>   vfio/display: adding dmabuf support
> 
>  hw/vfio/pci.h                                      |   4 +
>  include/hw/vfio/vfio-common.h                      |  22 ++
>  include/standard-headers/drm/drm_fourcc.h          | 411 +++++++++++++++++++++
>  include/standard-headers/linux/input-event-codes.h |   1 +
>  include/standard-headers/linux/input.h             |  11 +
>  include/standard-headers/linux/pci_regs.h          |  30 +-
>  include/standard-headers/linux/virtio_net.h        |  13 +
>  include/ui/qemu-pixman.h                           |   5 +
>  linux-headers/asm-powerpc/kvm.h                    |   2 +
>  linux-headers/asm-powerpc/unistd.h                 |   3 +
>  linux-headers/asm-s390/unistd.h                    | 401 +-------------------
>  linux-headers/asm-s390/unistd_32.h                 | 364 ++++++++++++++++++
>  linux-headers/asm-s390/unistd_64.h                 | 331 +++++++++++++++++
>  linux-headers/asm-x86/kvm_para.h                   |   4 +
>  linux-headers/linux/kvm.h                          |  90 +++++
>  linux-headers/linux/psci.h                         |   3 +
>  linux-headers/linux/vfio.h                         |  72 ++++
>  hw/vfio/common.c                                   |   7 +
>  hw/vfio/display.c                                  | 286 ++++++++++++++
>  hw/vfio/pci.c                                      |  30 ++
>  ui/qemu-pixman.c                                   |  22 ++
>  hw/vfio/Makefile.objs                              |   2 +-
>  scripts/update-linux-headers.sh                    |   7 +
>  23 files changed, 1710 insertions(+), 411 deletions(-)
>  create mode 100644 include/standard-headers/drm/drm_fourcc.h
>  create mode 100644 linux-headers/asm-s390/unistd_32.h
>  create mode 100644 linux-headers/asm-s390/unistd_64.h
>  create mode 100644 hw/vfio/display.c
> 

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