From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45769) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwVKU-0003UL-O7 for qemu-devel@nongnu.org; Wed, 11 Nov 2015 08:20:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwVKS-0007xP-KI for qemu-devel@nongnu.org; Wed, 11 Nov 2015 08:20:50 -0500 Received: from mga11.intel.com ([192.55.52.93]:52749) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwVKS-0007wg-Ep for qemu-devel@nongnu.org; Wed, 11 Nov 2015 08:20:48 -0500 From: Yuanhan Liu Date: Wed, 11 Nov 2015 21:24:39 +0800 Message-Id: <1447248281-15227-4-git-send-email-yuanhan.liu@linux.intel.com> In-Reply-To: <1447248281-15227-1-git-send-email-yuanhan.liu@linux.intel.com> References: <1447248281-15227-1-git-send-email-yuanhan.liu@linux.intel.com> Subject: [Qemu-devel] [PATCH v4 3/5] vhost: introduce vhost_set/get_protocol_features callbacks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Yuanhan Liu , mst@redhat.com Signed-off-by: Yuanhan Liu --- hw/virtio/vhost-user.c | 7 +++++++ include/hw/virtio/vhost-backend.h | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c index 4766f98..2d8bdbd 100644 --- a/hw/virtio/vhost-user.c +++ b/hw/virtio/vhost-user.c @@ -471,6 +471,11 @@ static int vhost_user_get_features(struct vhost_dev *dev, uint64_t *features) return vhost_user_get_u64(dev, VHOST_USER_GET_FEATURES, features); } +static int vhost_user_get_protocol_features(struct vhost_dev *dev, uint64_t *features) +{ + return vhost_user_get_u64(dev, VHOST_USER_GET_PROTOCOL_FEATURES, features); +} + static int vhost_user_set_owner(struct vhost_dev *dev) { VhostUserMsg msg = { @@ -616,6 +621,8 @@ const VhostOps user_ops = { .vhost_set_vring_call = vhost_user_set_vring_call, .vhost_set_features = vhost_user_set_features, .vhost_get_features = vhost_user_get_features, + .vhost_set_protocol_features = vhost_user_set_protocol_features, + .vhost_get_protocol_features = vhost_user_get_protocol_features, .vhost_set_owner = vhost_user_set_owner, .vhost_reset_device = vhost_user_reset_device, .vhost_get_vq_index = vhost_user_get_vq_index, diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h index c59cc81..7e705ce 100644 --- a/include/hw/virtio/vhost-backend.h +++ b/include/hw/virtio/vhost-backend.h @@ -62,6 +62,10 @@ typedef int (*vhost_set_features_op)(struct vhost_dev *dev, uint64_t features); typedef int (*vhost_get_features_op)(struct vhost_dev *dev, uint64_t *features); +typedef int (*vhost_set_protocol_features_op)(struct vhost_dev *dev, + uint64_t features); +typedef int (*vhost_get_protocol_features_op)(struct vhost_dev *dev, + uint64_t *features); typedef int (*vhost_set_owner_op)(struct vhost_dev *dev); typedef int (*vhost_reset_device_op)(struct vhost_dev *dev); typedef int (*vhost_get_vq_index_op)(struct vhost_dev *dev, int idx); @@ -91,6 +95,8 @@ typedef struct VhostOps { vhost_set_vring_call_op vhost_set_vring_call; vhost_set_features_op vhost_set_features; vhost_get_features_op vhost_get_features; + vhost_set_protocol_features_op vhost_set_protocol_features; + vhost_get_protocol_features_op vhost_get_protocol_features; vhost_set_owner_op vhost_set_owner; vhost_reset_device_op vhost_reset_device; vhost_get_vq_index_op vhost_get_vq_index; -- 1.9.0