All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Subject: [Qemu-devel] [PATCH v6 00/11] vhost-user for input & GPU
Date: Tue, 23 Apr 2019 15:19:53 +0200	[thread overview]
Message-ID: <20190423132004.13725-1-marcandre.lureau@redhat.com> (raw)

Hi,

vhost-user allows to drive a virtio device in a seperate
process. After vhost-user-net, we have seen
vhost-user-{scsi,blk,crypto} added more recently.

This series, initially proposed ~3 years ago, time flies
(https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01905.html)
contributes with vhost-user-input and vhost-user-gpu.

You may start a vhost-user-gpu with virgl rendering in a separate
process like this:

$ ./vhost-user-gpu --virgl -s vgpu.sock &
$ qemu...
  -chardev socket,id=chr,path=vgpu.sock
  -device vhost-user-vga,chardev=chr

v6:
 - do not install vhost-user-input
 - install vhost-user-gpu and json file following the spec
 - fix the build when drm-intel-devel missing
 - rebase (& resend without already applied patches)

v5:
 - remove user-creatable version of vhost-user-backend
 - remove optinal management of sub-process in vhost-user-backend
 - removed daemonize/pid code
 - drop introduction of new input & gpu messages for PCI config space
   handling, instead use VHOST_USER_PROTOCOL_F_CONFIG
 - plain mem & udmabuf fallback for 2d rendering
 - rebased, kconfig-ify, rst-ify

Marc-André Lureau (11):
  Add vhost-user-backend
  Add vhost-user-input-pci
  libvhost-user: add PROTOCOL_F_CONFIG if {set,get}_config
  contrib: add vhost-user-input
  vhost-user: add vhost_user_gpu_set_socket()
  virtio: add virtio-gpu bswap helpers header
  util: compile drm.o on Linux
  contrib: add vhost-user-gpu
  virtio-gpu: split virtio-gpu, introduce virtio-gpu-base
  virtio-gpu: split virtio-gpu-pci & virtio-vga
  hw/display: add vhost-user-vga & gpu-pci

 contrib/libvhost-user/libvhost-user.h      |    1 +
 contrib/vhost-user-gpu/drm.h               |   72 ++
 contrib/vhost-user-gpu/virgl.h             |   25 +
 contrib/vhost-user-gpu/vugpu.h             |  170 +++
 hw/display/virtio-vga.h                    |   32 +
 include/hw/virtio/vhost-backend.h          |    2 +
 include/hw/virtio/virtio-gpu-bswap.h       |   61 +
 include/hw/virtio/virtio-gpu-pci.h         |   40 +
 include/hw/virtio/virtio-gpu.h             |   92 +-
 include/hw/virtio/virtio-input.h           |   14 +
 include/sysemu/vhost-user-backend.h        |   57 +
 backends/vhost-user.c                      |  209 ++++
 contrib/libvhost-user/libvhost-user.c      |    5 +
 contrib/vhost-user-gpu/drm.c               |  341 ++++++
 contrib/vhost-user-gpu/main.c              | 1236 ++++++++++++++++++++
 contrib/vhost-user-gpu/virgl.c             |  579 +++++++++
 contrib/vhost-user-input/main.c            |  427 +++++++
 hw/display/vhost-user-gpu-pci.c            |   51 +
 hw/display/vhost-user-gpu.c                |  572 +++++++++
 hw/display/vhost-user-vga.c                |   52 +
 hw/display/virtio-gpu-3d.c                 |   49 +-
 hw/display/virtio-gpu-base.c               |  268 +++++
 hw/display/virtio-gpu-pci.c                |   55 +-
 hw/display/virtio-gpu.c                    |  415 ++-----
 hw/display/virtio-vga.c                    |  138 +--
 hw/input/vhost-user-input.c                |  129 ++
 hw/virtio/vhost-user-input-pci.c           |   53 +
 hw/virtio/vhost-user.c                     |   11 +
 vl.c                                       |    1 +
 MAINTAINERS                                |   14 +-
 Makefile                                   |   27 +-
 Makefile.objs                              |    2 +
 backends/Makefile.objs                     |    2 +
 configure                                  |   29 +
 contrib/vhost-user-gpu/50-qemu-gpu.json.in |    5 +
 contrib/vhost-user-gpu/Makefile.objs       |   10 +
 contrib/vhost-user-input/Makefile.objs     |    1 +
 docs/interop/index.rst                     |    2 +-
 docs/interop/vhost-user-gpu.rst            |  238 ++++
 docs/interop/vhost-user.txt                |    9 +
 hw/display/Kconfig                         |   10 +
 hw/display/Makefile.objs                   |    5 +-
 hw/input/Kconfig                           |    5 +
 hw/input/Makefile.objs                     |    1 +
 hw/virtio/Makefile.objs                    |    1 +
 rules.mak                                  |    9 +-
 util/Makefile.objs                         |    2 +-
 47 files changed, 5070 insertions(+), 459 deletions(-)
 create mode 100644 contrib/vhost-user-gpu/drm.h
 create mode 100644 contrib/vhost-user-gpu/virgl.h
 create mode 100644 contrib/vhost-user-gpu/vugpu.h
 create mode 100644 hw/display/virtio-vga.h
 create mode 100644 include/hw/virtio/virtio-gpu-bswap.h
 create mode 100644 include/hw/virtio/virtio-gpu-pci.h
 create mode 100644 include/sysemu/vhost-user-backend.h
 create mode 100644 backends/vhost-user.c
 create mode 100644 contrib/vhost-user-gpu/drm.c
 create mode 100644 contrib/vhost-user-gpu/main.c
 create mode 100644 contrib/vhost-user-gpu/virgl.c
 create mode 100644 contrib/vhost-user-input/main.c
 create mode 100644 hw/display/vhost-user-gpu-pci.c
 create mode 100644 hw/display/vhost-user-gpu.c
 create mode 100644 hw/display/vhost-user-vga.c
 create mode 100644 hw/display/virtio-gpu-base.c
 create mode 100644 hw/input/vhost-user-input.c
 create mode 100644 hw/virtio/vhost-user-input-pci.c
 create mode 100644 contrib/vhost-user-gpu/50-qemu-gpu.json.in
 create mode 100644 contrib/vhost-user-gpu/Makefile.objs
 create mode 100644 contrib/vhost-user-input/Makefile.objs
 create mode 100644 docs/interop/vhost-user-gpu.rst

-- 
2.21.0.313.ge35b8cb8e2

             reply	other threads:[~2019-04-23 13:20 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-23 13:19 Marc-André Lureau [this message]
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 01/11] Add vhost-user-backend Marc-André Lureau
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 02/11] Add vhost-user-input-pci Marc-André Lureau
2019-04-26  7:11   ` Gerd Hoffmann
2019-04-26  9:28     ` Marc-André Lureau
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 03/11] libvhost-user: add PROTOCOL_F_CONFIG if {set, get}_config Marc-André Lureau
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 04/11] contrib: add vhost-user-input Marc-André Lureau
2019-04-26  7:15   ` Gerd Hoffmann
2019-04-26 10:02     ` Marc-André Lureau
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 05/11] vhost-user: add vhost_user_gpu_set_socket() Marc-André Lureau
2019-04-26  7:24   ` Gerd Hoffmann
2019-04-26 11:49     ` Marc-André Lureau
2019-04-26 12:05       ` Gerd Hoffmann
2019-04-26 12:15         ` Marc-André Lureau
2019-04-29  7:12           ` Gerd Hoffmann
2019-04-29 10:50             ` Marc-André Lureau
2019-04-29 14:32               ` Gerd Hoffmann
2019-04-29 15:01             ` Michael S. Tsirkin
2019-04-23 13:19 ` [Qemu-devel] [PATCH v6 06/11] virtio: add virtio-gpu bswap helpers header Marc-André Lureau
2019-04-23 13:20 ` [Qemu-devel] [PATCH v6 07/11] util: compile drm.o on Linux Marc-André Lureau
2019-04-23 13:20 ` [Qemu-devel] [PATCH v6 08/11] contrib: add vhost-user-gpu Marc-André Lureau
2019-04-26  7:46   ` Gerd Hoffmann
2019-04-26 13:46     ` Marc-André Lureau
2019-04-23 13:20 ` [Qemu-devel] [PATCH v6 09/11] virtio-gpu: split virtio-gpu, introduce virtio-gpu-base Marc-André Lureau
2019-04-23 13:20 ` [Qemu-devel] [PATCH v6 10/11] virtio-gpu: split virtio-gpu-pci & virtio-vga Marc-André Lureau
2019-04-23 13:20 ` [Qemu-devel] [PATCH v6 11/11] hw/display: add vhost-user-vga & gpu-pci Marc-André Lureau
2019-04-23 13:20   ` Marc-André Lureau
2019-04-23 15:32 ` [Qemu-devel] [PATCH v6 00/11] vhost-user for input & GPU no-reply
2019-04-23 15:32   ` no-reply
2019-04-23 16:09 ` no-reply
2019-04-23 16:09   ` no-reply
2019-04-24 13:20 ` Michael S. Tsirkin
2019-04-24 13:50   ` Marc-André Lureau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190423132004.13725-1-marcandre.lureau@redhat.com \
    --to=marcandre.lureau@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mst@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.