@@ -23,6 +23,7 @@ publish_internal_headers(rdma
rdma/rdma_user_ioctl.h
rdma/rdma_user_ioctl_cmds.h
rdma/rdma_user_rxe.h
+ rdma/rvt-abi.h
rdma/vmw_pvrdma-abi.h
)
new file mode 100644
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */
+
+/*
+ * This file contains defines, structures, etc. that are used
+ * to communicate between kernel and user code.
+ */
+
+#ifndef RVT_ABI_USER_H
+#define RVT_ABI_USER_H
+
+#include <linux/types.h>
+#include <rdma/ib_user_verbs.h>
+#ifndef RDMA_ATOMIC_UAPI
+#define RDMA_ATOMIC_UAPI(_type, _name) _type _name
+#endif
+/*
+ * This structure is used to contain the head pointer, tail pointer,
+ * and completion queue entries as a single memory allocation so
+ * it can be mmap'ed into user space.
+ */
+struct rvt_cq_wc {
+ /* index of next entry to fill */
+ RDMA_ATOMIC_UAPI(__u32, head);
+ /* index of next ib_poll_cq() entry */
+ RDMA_ATOMIC_UAPI(__u32, tail);
+
+ /* these are actually size ibcq.cqe + 1 */
+ struct ib_uverbs_wc uqueue[0];
+};
+
+#endif /* RVT_ABI_USER_H */
To commit ?? ("IB/hfi1: Move rvt_cq_wc struct into uapi directory") Signed-off-by: "Kamenee Arumugam" <kamenee.arumugam@intel.com> --- kernel-headers/CMakeLists.txt | 1 + kernel-headers/rdma/rvt-abi.h | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 0 deletions(-) create mode 100644 kernel-headers/rdma/rvt-abi.h