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
next 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.