[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 17/29] vhost-user: add vhost_user_gpu_get_num_cap
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v4 17/29] vhost-user: add vhost_user_gpu_get_num_capsets() |
Date: |
Fri, 13 Jul 2018 15:09:04 +0200 |
See vhost-user.txt protocol documentation for details.
Signed-off-by: Marc-André Lureau <address@hidden>
---
contrib/libvhost-user/libvhost-user.h | 1 +
include/hw/virtio/vhost-backend.h | 1 +
hw/virtio/vhost-user.c | 15 +++++++++++++++
docs/interop/vhost-user.txt | 8 ++++++++
4 files changed, 25 insertions(+)
diff --git a/contrib/libvhost-user/libvhost-user.h
b/contrib/libvhost-user/libvhost-user.h
index 42e227cce6..9f30e05bd1 100644
--- a/contrib/libvhost-user/libvhost-user.h
+++ b/contrib/libvhost-user/libvhost-user.h
@@ -93,6 +93,7 @@ typedef enum VhostUserRequest {
VHOST_USER_POSTCOPY_END = 30,
VHOST_USER_INPUT_GET_CONFIG = 31,
VHOST_USER_GPU_SET_SOCKET = 32,
+ VHOST_USER_GPU_GET_NUM_CAPSETS = 33,
VHOST_USER_MAX
} VhostUserRequest;
diff --git a/include/hw/virtio/vhost-backend.h
b/include/hw/virtio/vhost-backend.h
index daf9180c33..730e24c33b 100644
--- a/include/hw/virtio/vhost-backend.h
+++ b/include/hw/virtio/vhost-backend.h
@@ -164,5 +164,6 @@ int vhost_backend_handle_iotlb_msg(struct vhost_dev *dev,
int vhost_user_input_get_config(struct vhost_dev *dev,
struct virtio_input_config **config);
int vhost_user_gpu_set_socket(struct vhost_dev *dev, int fd);
+int vhost_user_gpu_get_num_capsets(struct vhost_dev *dev, uint32_t *num);
#endif /* VHOST_BACKEND_H */
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index 8c1a1742b0..bfec6528f2 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -91,6 +91,7 @@ typedef enum VhostUserRequest {
VHOST_USER_POSTCOPY_END = 30,
VHOST_USER_INPUT_GET_CONFIG = 31,
VHOST_USER_GPU_SET_SOCKET = 32,
+ VHOST_USER_GPU_GET_NUM_CAPSETS = 33,
VHOST_USER_MAX
} VhostUserRequest;
@@ -922,6 +923,20 @@ static int vhost_user_get_u64(struct vhost_dev *dev, int
request, uint64_t *u64)
return 0;
}
+int vhost_user_gpu_get_num_capsets(struct vhost_dev *dev, uint32_t *num)
+{
+ uint64_t u64;
+
+ if (vhost_user_get_u64(dev, VHOST_USER_GPU_GET_NUM_CAPSETS, &u64) < 0) {
+ return -1;
+ }
+ if (u64 > INT32_MAX) {
+ return -1;
+ }
+ *num = u64;
+ return 0;
+}
+
static int vhost_user_get_features(struct vhost_dev *dev, uint64_t *features)
{
return vhost_user_get_u64(dev, VHOST_USER_GET_FEATURES, features);
diff --git a/docs/interop/vhost-user.txt b/docs/interop/vhost-user.txt
index c4c063a8c0..ba5e37d714 100644
--- a/docs/interop/vhost-user.txt
+++ b/docs/interop/vhost-user.txt
@@ -777,6 +777,14 @@ Master message types
ancillary data. The GPU protocol is used to inform the master of
rendering state and updates. See vhost-user-gpu.rst for details.
+ * VHOST_USER_GPU_GET_NUM_CAPSETS
+ Id: 33
+ Master payload: N/A
+ Slave payload: u64
+
+ Get the virtio-gpu 'num_capsets' config value. For non-virgl
+ rendering, the value can be 0.
+
Slave message types
-------------------
--
2.18.0.129.ge3331758f1
- [Qemu-devel] [PATCH v4 07/29] vhost-user: wrap some read/write with retry handling, (continued)
- [Qemu-devel] [PATCH v4 07/29] vhost-user: wrap some read/write with retry handling, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 08/29] Add vhost-user-backend, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 09/29] qio: add qio_channel_command_new_spawn_with_pre_exec(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 10/29] HACK: vhost-user-backend: allow to specify binary to execute, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 11/29] vhost-user: split vhost_user_read(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 12/29] vhost-user: add vhost_user_input_get_config(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 13/29] libvhost-user: export vug_source_new(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 14/29] contrib: add vhost-user-input, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 15/29] Add vhost-user-input-pci, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 16/29] vhost-user: add vhost_user_gpu_set_socket(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 17/29] vhost-user: add vhost_user_gpu_get_num_capsets(),
Marc-André Lureau <=
- [Qemu-devel] [PATCH v4 18/29] virtio: add virtio-gpu bswap helpers header, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 19/29] util: promote qemu_egl_rendernode_open() to libqemuutil, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 21/29] util: use fcntl() for qemu_write_pidfile() locking, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 20/29] util: add qemu_write_pidfile(), Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 23/29] virtio-gpu: remove unused qdev, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 25/29] virtio-gpu: block both 2d and 3d rendering, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 24/29] virtio-gpu: remove unused config_size, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 22/29] contrib: add vhost-user-gpu, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 26/29] virtio-gpu: remove useless 'waiting' field, Marc-André Lureau, 2018/07/13
- [Qemu-devel] [PATCH v4 28/29] virtio-gpu: split virtio-gpu-pci & virtio-vga, Marc-André Lureau, 2018/07/13