[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231205083444.3029239-2-lulu@redhat.com>
Date: Tue, 5 Dec 2023 16:34:38 +0800
From: Cindy Lu <lulu@...hat.com>
To: lulu@...hat.com, jasowang@...hat.com, mst@...hat.com,
xieyongji@...edance.com, linux-kernel@...r.kernel.org,
maxime.coquelin@...hat.com
Subject: [PATCH v3 1/7] vdpa: Move struct vdpa_vq_state to uAPI
Move struct vdpa_vq_state to uAPI for vduse reconnect.
Userspace and kernel will use this structure to synchronize the vq status
Signed-off-by: Cindy Lu <lulu@...hat.com>
---
include/linux/vdpa.h | 29 +----------------------------
include/uapi/linux/vdpa.h | 31 +++++++++++++++++++++++++++++++
2 files changed, 32 insertions(+), 28 deletions(-)
diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index 43f59ef10cc9..62ce97bce934 100644
--- a/include/linux/vdpa.h
+++ b/include/linux/vdpa.h
@@ -8,6 +8,7 @@
#include <linux/vhost_iotlb.h>
#include <linux/virtio_net.h>
#include <linux/if_ether.h>
+#include <uapi/linux/vdpa.h>
/**
* struct vdpa_calllback - vDPA callback definition.
@@ -29,34 +30,6 @@ struct vdpa_notification_area {
resource_size_t size;
};
-/**
- * struct vdpa_vq_state_split - vDPA split virtqueue state
- * @avail_index: available index
- */
-struct vdpa_vq_state_split {
- u16 avail_index;
-};
-
-/**
- * struct vdpa_vq_state_packed - vDPA packed virtqueue state
- * @last_avail_counter: last driver ring wrap counter observed by device
- * @last_avail_idx: device available index
- * @last_used_counter: device ring wrap counter
- * @last_used_idx: used index
- */
-struct vdpa_vq_state_packed {
- u16 last_avail_counter:1;
- u16 last_avail_idx:15;
- u16 last_used_counter:1;
- u16 last_used_idx:15;
-};
-
-struct vdpa_vq_state {
- union {
- struct vdpa_vq_state_split split;
- struct vdpa_vq_state_packed packed;
- };
-};
struct vdpa_mgmt_dev;
diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
index 54b649ab0f22..f4bc3589685e 100644
--- a/include/uapi/linux/vdpa.h
+++ b/include/uapi/linux/vdpa.h
@@ -7,6 +7,8 @@
#ifndef _UAPI_LINUX_VDPA_H_
#define _UAPI_LINUX_VDPA_H_
+#include <linux/types.h>
+
#define VDPA_GENL_NAME "vdpa"
#define VDPA_GENL_VERSION 0x1
@@ -60,4 +62,33 @@ enum vdpa_attr {
VDPA_ATTR_MAX,
};
+/**
+ * struct vdpa_vq_state_split - vDPA split virtqueue state
+ * @avail_index: available index
+ */
+struct vdpa_vq_state_split {
+ __u16 avail_index;
+};
+
+/**
+ * struct vdpa_vq_state_packed - vDPA packed virtqueue state
+ * @last_avail_counter: last driver ring wrap counter observed by device
+ * @last_avail_idx: device available index
+ * @last_used_counter: device ring wrap counter
+ * @last_used_idx: used index
+ */
+struct vdpa_vq_state_packed {
+ __u16 last_avail_counter : 1;
+ __u16 last_avail_idx : 15;
+ __u16 last_used_counter : 1;
+ __u16 last_used_idx : 15;
+};
+
+struct vdpa_vq_state {
+ union {
+ struct vdpa_vq_state_split split;
+ struct vdpa_vq_state_packed packed;
+ };
+};
+
#endif
--
2.34.3
Powered by blists - more mailing lists