virtio: add vhost-user-vsock base device

This patch introduces a vhost-user device for vsock, using the
vhost-vsock-common parent class.

The vhost-user-vsock device can be used to implement the virtio-vsock
device emulation in user-space.

Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Message-Id: <20200522122512.87413-3-sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Stefano Garzarella 2020-05-22 14:25:11 +02:00 committed by Michael S. Tsirkin
parent c6136ec0c6
commit 5fe97d8829
4 changed files with 221 additions and 0 deletions

View file

@ -0,0 +1,36 @@
/*
* Vhost-user vsock virtio device
*
* Copyright 2020 Red Hat, Inc.
*
* This work is licensed under the terms of the GNU GPL, version 2 or
* (at your option) any later version. See the COPYING file in the
* top-level directory.
*/
#ifndef _QEMU_VHOST_USER_VSOCK_H
#define _QEMU_VHOST_USER_VSOCK_H
#include "hw/virtio/vhost-vsock-common.h"
#include "hw/virtio/vhost-user.h"
#include "standard-headers/linux/virtio_vsock.h"
#define TYPE_VHOST_USER_VSOCK "vhost-user-vsock-device"
#define VHOST_USER_VSOCK(obj) \
OBJECT_CHECK(VHostUserVSock, (obj), TYPE_VHOST_USER_VSOCK)
typedef struct {
CharBackend chardev;
} VHostUserVSockConf;
typedef struct {
/*< private >*/
VHostVSockCommon parent;
VhostUserState vhost_user;
VHostUserVSockConf conf;
struct virtio_vsock_config vsockcfg;
/*< public >*/
} VHostUserVSock;
#endif /* _QEMU_VHOST_USER_VSOCK_H */