qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] da35f7: virtio-gpu: add sanity check


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] da35f7: virtio-gpu: add sanity check
Date: Thu, 30 May 2019 05:54:11 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: da35f7f1eeff9f249a9597400fc514c83fd3a0f8
      
https://github.com/qemu/qemu/commit/da35f7f1eeff9f249a9597400fc514c83fd3a0f8
  Author: Gerd Hoffmann <address@hidden>
  Date:   2019-05-28 (Tue, 28 May 2019)

  Changed paths:
    M hw/display/virtio-gpu.c

  Log Message:
  -----------
  virtio-gpu: add sanity check

Require a minimum 16x16 size for the scanout, to make sure the guest
can't set either width or height to zero.  This (a) doesn't make sense
at all and (b) causes problems in some UI code.  When using spice this
will triggers an assert().

Reported-by: Tyler Slabinski <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden


  Commit: bd2e44fee474c43f54aadd35b5b8fd5ba8f4d11f
      
https://github.com/qemu/qemu/commit/bd2e44fee474c43f54aadd35b5b8fd5ba8f4d11f
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M MAINTAINERS
    M contrib/libvhost-user/libvhost-user.c
    M contrib/libvhost-user/libvhost-user.h
    M docs/interop/index.rst
    A docs/interop/vhost-user-gpu.rst
    M docs/interop/vhost-user.rst
    M hw/virtio/vhost-user.c
    M include/hw/virtio/vhost-backend.h

  Log Message:
  -----------
  vhost-user: add vhost_user_gpu_set_socket()

Add a new vhost-user message to give a unix socket to a vhost-user
backend for GPU display updates.

Back when I started that work, I added a new GPU channel because the
vhost-user protocol wasn't bidirectional. Since then, there is a
vhost-user-slave channel for the slave to send requests to the master.
We could extend it with GPU messages. However, the GPU protocol is
quite orthogonal to vhost-user, thus I chose to have a new dedicated
channel.

See vhost-user-gpu.rst for the protocol details.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: ad08e67a9672b69b798340b04245f5d1c1c88229
      
https://github.com/qemu/qemu/commit/ad08e67a9672b69b798340b04245f5d1c1c88229
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M hw/display/virtio-gpu.c
    A include/hw/virtio/virtio-gpu-bswap.h

  Log Message:
  -----------
  virtio-gpu: add bswap helpers header

The helper functions are useful to build the vhost-user-gpu backend.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 83a7d3c021dc8c7f579035f93697d13d02a73509
      
https://github.com/qemu/qemu/commit/83a7d3c021dc8c7f579035f93697d13d02a73509
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M hw/display/virtio-gpu.c
    A include/hw/virtio/virtio-gpu-pixman.h

  Log Message:
  -----------
  virtio-gpu: add a pixman helper header

This will allow to share the format conversion function with
vhost-user-gpu.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: b213fee8a7ec43bac3d606ceae151fffca8a9dbf
      
https://github.com/qemu/qemu/commit/b213fee8a7ec43bac3d606ceae151fffca8a9dbf
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M util/Makefile.objs

  Log Message:
  -----------
  util: compile drm.o on posix

OpenGL isn't required to use DRM rendernodes. The following patches
uses it for 2d resources for ex.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden

[ kraxel s/LINUX/POSIX/ (fixes openbsd build failure) ]

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: d52c454aadcdae74506f315ebf8b58bb79a05573
      
https://github.com/qemu/qemu/commit/d52c454aadcdae74506f315ebf8b58bb79a05573
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M Makefile.objs
    M configure
    A contrib/vhost-user-gpu/50-qemu-gpu.json.in
    A contrib/vhost-user-gpu/Makefile.objs
    A contrib/vhost-user-gpu/main.c
    A contrib/vhost-user-gpu/virgl.c
    A contrib/vhost-user-gpu/virgl.h
    A contrib/vhost-user-gpu/vugbm.c
    A contrib/vhost-user-gpu/vugbm.h
    A contrib/vhost-user-gpu/vugpu.h
    M rules.mak

  Log Message:
  -----------
  contrib: add vhost-user-gpu

Add a vhost-user gpu backend, based on virtio-gpu/3d device. It is
associated with a vhost-user-gpu device.

Various TODO and nice to have items:
- multi-head support
- crash & resume handling
- accelerated rendering/display that avoids the waiting round trips
- edid support

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: cb0efb7125fade8faa9a1fed4d46e63d35b31863
      
https://github.com/qemu/qemu/commit/cb0efb7125fade8faa9a1fed4d46e63d35b31863
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M ui/spice-app.c

  Log Message:
  -----------
  spice-app: fix running when !CONFIG_OPENGL

Do not set 'gl' parameter, fixes:
qemu-system-x86_64: Invalid parameter 'gl'

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 50d8e25ea66db01f4214234803506dc1b28cb8d2
      
https://github.com/qemu/qemu/commit/50d8e25ea66db01f4214234803506dc1b28cb8d2
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M hw/display/Makefile.objs
    M hw/display/virtio-gpu-3d.c
    A hw/display/virtio-gpu-base.c
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-gpu.c
    M hw/display/virtio-vga.c
    M include/hw/virtio/virtio-gpu.h

  Log Message:
  -----------
  virtio-gpu: split virtio-gpu, introduce virtio-gpu-base

Add a base class that is common to virtio-gpu and vhost-user-gpu
devices.

The VirtIOGPUBase base class provides common functionalities necessary
for both virtio-gpu and vhost-user-gpu:
- common configuration (max-outputs, initial resolution, flags)
- virtio device initialization, including queue setup
- device pre-conditions checks (iommu)
- migration blocker
- virtio device callbacks
- hooking up to qemu display subsystem
- a few common helper functions to reset the device, retrieve display
informations
- a class callback to unblock the rendering (for GL updates)

What is left to the virtio-gpu subdevice to take care of, in short,
are all the virtio queues handling, command processing and migration.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: c68082c43a3ddeb5e5da4ab401e3f9f422e7a290
      
https://github.com/qemu/qemu/commit/c68082c43a3ddeb5e5da4ab401e3f9f422e7a290
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M MAINTAINERS
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-vga.c
    A hw/display/virtio-vga.h

  Log Message:
  -----------
  virtio-gpu: split virtio-gpu-pci & virtio-vga

Add base classes that are common to vhost-user-gpu-pci and
vhost-user-vga.

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 267f664658fee4138f80013fa25354191e8091cb
      
https://github.com/qemu/qemu/commit/267f664658fee4138f80013fa25354191e8091cb
  Author: Marc-André Lureau <address@hidden>
  Date:   2019-05-29 (Wed, 29 May 2019)

  Changed paths:
    M hw/display/Kconfig
    M hw/display/Makefile.objs
    A hw/display/vhost-user-gpu-pci.c
    A hw/display/vhost-user-gpu.c
    A hw/display/vhost-user-vga.c
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-vga.h
    A include/hw/virtio/virtio-gpu-pci.h
    M include/hw/virtio/virtio-gpu.h
    M vl.c

  Log Message:
  -----------
  hw/display: add vhost-user-vga & gpu-pci

Add new virtio-gpu devices with a "vhost-user" property. The
associated vhost-user backend is used to handle the virtio rings and
provide rendering results thanks to the vhost-user-gpu protocol.

Example usage:
-object vhost-user-backend,id=vug,cmd="./vhost-user-gpu"
-device vhost-user-vga,vhost-user=vug

Signed-off-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 95172e24051ce48237f371849498bfc1027df578
      
https://github.com/qemu/qemu/commit/95172e24051ce48237f371849498bfc1027df578
  Author: Peter Maydell <address@hidden>
  Date:   2019-05-30 (Thu, 30 May 2019)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M Makefile.objs
    M configure
    M contrib/libvhost-user/libvhost-user.c
    M contrib/libvhost-user/libvhost-user.h
    A contrib/vhost-user-gpu/50-qemu-gpu.json.in
    A contrib/vhost-user-gpu/Makefile.objs
    A contrib/vhost-user-gpu/main.c
    A contrib/vhost-user-gpu/virgl.c
    A contrib/vhost-user-gpu/virgl.h
    A contrib/vhost-user-gpu/vugbm.c
    A contrib/vhost-user-gpu/vugbm.h
    A contrib/vhost-user-gpu/vugpu.h
    M docs/interop/index.rst
    A docs/interop/vhost-user-gpu.rst
    M docs/interop/vhost-user.rst
    M hw/display/Kconfig
    M hw/display/Makefile.objs
    A hw/display/vhost-user-gpu-pci.c
    A hw/display/vhost-user-gpu.c
    A hw/display/vhost-user-vga.c
    M hw/display/virtio-gpu-3d.c
    A hw/display/virtio-gpu-base.c
    M hw/display/virtio-gpu-pci.c
    M hw/display/virtio-gpu.c
    M hw/display/virtio-vga.c
    A hw/display/virtio-vga.h
    M hw/virtio/vhost-user.c
    M include/hw/virtio/vhost-backend.h
    A include/hw/virtio/virtio-gpu-bswap.h
    A include/hw/virtio/virtio-gpu-pci.h
    A include/hw/virtio/virtio-gpu-pixman.h
    M include/hw/virtio/virtio-gpu.h
    M rules.mak
    M ui/spice-app.c
    M util/Makefile.objs
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/vga-20190529-pull-request' 
into staging

vga: add vhost-user-gpu.

# gpg: Signature made Wed 29 May 2019 05:40:02 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>" [full]
# gpg:                 aka "Gerd Hoffmann <address@hidden>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <address@hidden>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/vga-20190529-pull-request:
  hw/display: add vhost-user-vga & gpu-pci
  virtio-gpu: split virtio-gpu-pci & virtio-vga
  virtio-gpu: split virtio-gpu, introduce virtio-gpu-base
  spice-app: fix running when !CONFIG_OPENGL
  contrib: add vhost-user-gpu
  util: compile drm.o on posix
  virtio-gpu: add a pixman helper header
  virtio-gpu: add bswap helpers header
  vhost-user: add vhost_user_gpu_set_socket()
  virtio-gpu: add sanity check

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/62f6849e7a74...95172e24051c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]