diff mbox

[1/4] DAPL: Support for Linux on System z in libibverbs library

Message ID 1387453998-27416-4-git-send-email-alexey_ishchuk@ru.ibm.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Alexey Ishchuk Dec. 19, 2013, 11:53 a.m. UTC
s390: Add DAPL support for Linux on System z in libibverbs

Changes required to support the OFED stack on the System z platform. These
changes include:
	* mb, rmb, wmb, and wc_wmb macro definitions for the System z platform;
	* new Infiniband verb command identifier.
The new Infiniband verb command was added to allow data transfer from user
space applications to infiniband devices on System z.



--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Or Gerlitz Dec. 19, 2013, 10:07 p.m. UTC | #1
On Thu, Dec 19, 2013, Alexey Ishchuk <alexey_ishchuk@ru.ibm.com> wrote:

>         * new Infiniband verb command identifier.
> The new Infiniband verb command was added to allow data transfer from user
> space applications to infiniband devices on System z.

and does what? also note that your patches don't carry signature


>
>
> diff -aurp /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/arch.h libibverbs-1.1.7/include/infiniband/arch.h
> --- /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/arch.h  2011-02-03 19:36:36.000000000 +0100
> +++ libibverbs-1.1.7/include/infiniband/arch.h  2013-12-11 16:46:18.713796712 +0100
> @@ -115,6 +115,13 @@ static inline uint64_t ntohll(uint64_t x
>  #define wmb()   mb()
>  #define wc_wmb() wmb()
>
> +#elif defined(__s390x__)
> +
> +#define mb()    asm volatile("" ::: "memory")
> +#define rmb()   mb()
> +#define wmb()   mb()
> +#define wc_wmb() wmb()
> +
>  #else
>
>  #warning No architecture specific defines found.  Using generic implementation.
> diff -aurp /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/kern-abi.h libibverbs-1.1.7/include/infiniband/kern-abi.h
> --- /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/kern-abi.h      2011-12-22 18:50:48.000000000 +0100
> +++ libibverbs-1.1.7/include/infiniband/kern-abi.h      2013-12-11 16:46:18.713796712 +0100
> @@ -85,7 +85,8 @@ enum {
>         IB_USER_VERBS_CMD_MODIFY_SRQ,
>         IB_USER_VERBS_CMD_QUERY_SRQ,
>         IB_USER_VERBS_CMD_DESTROY_SRQ,
> -       IB_USER_VERBS_CMD_POST_SRQ_RECV
> +       IB_USER_VERBS_CMD_POST_SRQ_RECV,
> +       IB_USER_VERBS_CMD_KWRITE_MMIO=52
>  };
>
>  /*
> @@ -804,6 +805,7 @@ enum {
>          * trick opcodes in IBV_INIT_CMD() doesn't break.
>          */
>         IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL_V2 = -1,
> +       IB_USER_VERBS_CMD_KWRITE_MMIO_V2 = -1,
>  };
>
>  struct ibv_destroy_cq_v1 {
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff -aurp /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/arch.h libibverbs-1.1.7/include/infiniband/arch.h
--- /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/arch.h	2011-02-03 19:36:36.000000000 +0100
+++ libibverbs-1.1.7/include/infiniband/arch.h	2013-12-11 16:46:18.713796712 +0100
@@ -115,6 +115,13 @@  static inline uint64_t ntohll(uint64_t x
 #define wmb()	 mb()
 #define wc_wmb() wmb()
 
+#elif defined(__s390x__)
+
+#define mb()	 asm volatile("" ::: "memory")
+#define rmb()	 mb()
+#define wmb()	 mb()
+#define wc_wmb() wmb()
+
 #else
 
 #warning No architecture specific defines found.  Using generic implementation.
diff -aurp /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/kern-abi.h libibverbs-1.1.7/include/infiniband/kern-abi.h
--- /usr/src/packages/BUILD/libibverbs-1.1.7/include/infiniband/kern-abi.h	2011-12-22 18:50:48.000000000 +0100
+++ libibverbs-1.1.7/include/infiniband/kern-abi.h	2013-12-11 16:46:18.713796712 +0100
@@ -85,7 +85,8 @@  enum {
 	IB_USER_VERBS_CMD_MODIFY_SRQ,
 	IB_USER_VERBS_CMD_QUERY_SRQ,
 	IB_USER_VERBS_CMD_DESTROY_SRQ,
-	IB_USER_VERBS_CMD_POST_SRQ_RECV
+	IB_USER_VERBS_CMD_POST_SRQ_RECV,
+	IB_USER_VERBS_CMD_KWRITE_MMIO=52
 };
 
 /*
@@ -804,6 +805,7 @@  enum {
 	 * trick opcodes in IBV_INIT_CMD() doesn't break.
 	 */
 	IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL_V2 = -1,
+	IB_USER_VERBS_CMD_KWRITE_MMIO_V2 = -1,
 };
 
 struct ibv_destroy_cq_v1 {