Commit 7b28b0d0 authored by Sean Hefty's avatar Sean Hefty Committed by Roland Dreier

[IB] ucm: 32/64 compatibility fixes

Fix structure layouts to ensure same size on 32-bit and 64-bit architectures.
This permits 32-bit userspace apps on a 64-bit kernel.
Signed-off-by: default avatarSean Hefty <sean.hefty@intel.com>
Signed-off-by: default avatarRoland Dreier <rolandd@cisco.com>
parent 3bc12e75
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
#include <linux/types.h> #include <linux/types.h>
#define IB_USER_CM_ABI_VERSION 3 #define IB_USER_CM_ABI_VERSION 4
enum { enum {
IB_USER_CM_CMD_CREATE_ID, IB_USER_CM_CMD_CREATE_ID,
...@@ -84,6 +84,7 @@ struct ib_ucm_create_id_resp { ...@@ -84,6 +84,7 @@ struct ib_ucm_create_id_resp {
struct ib_ucm_destroy_id { struct ib_ucm_destroy_id {
__u64 response; __u64 response;
__u32 id; __u32 id;
__u32 reserved;
}; };
struct ib_ucm_destroy_id_resp { struct ib_ucm_destroy_id_resp {
...@@ -93,6 +94,7 @@ struct ib_ucm_destroy_id_resp { ...@@ -93,6 +94,7 @@ struct ib_ucm_destroy_id_resp {
struct ib_ucm_attr_id { struct ib_ucm_attr_id {
__u64 response; __u64 response;
__u32 id; __u32 id;
__u32 reserved;
}; };
struct ib_ucm_attr_id_resp { struct ib_ucm_attr_id_resp {
...@@ -164,6 +166,7 @@ struct ib_ucm_listen { ...@@ -164,6 +166,7 @@ struct ib_ucm_listen {
__be64 service_id; __be64 service_id;
__be64 service_mask; __be64 service_mask;
__u32 id; __u32 id;
__u32 reserved;
}; };
struct ib_ucm_establish { struct ib_ucm_establish {
...@@ -219,7 +222,7 @@ struct ib_ucm_req { ...@@ -219,7 +222,7 @@ struct ib_ucm_req {
__u8 rnr_retry_count; __u8 rnr_retry_count;
__u8 max_cm_retries; __u8 max_cm_retries;
__u8 srq; __u8 srq;
__u8 reserved[1]; __u8 reserved[5];
}; };
struct ib_ucm_rep { struct ib_ucm_rep {
...@@ -236,6 +239,7 @@ struct ib_ucm_rep { ...@@ -236,6 +239,7 @@ struct ib_ucm_rep {
__u8 flow_control; __u8 flow_control;
__u8 rnr_retry_count; __u8 rnr_retry_count;
__u8 srq; __u8 srq;
__u8 reserved[4];
}; };
struct ib_ucm_info { struct ib_ucm_info {
...@@ -245,7 +249,7 @@ struct ib_ucm_info { ...@@ -245,7 +249,7 @@ struct ib_ucm_info {
__u64 data; __u64 data;
__u8 info_len; __u8 info_len;
__u8 data_len; __u8 data_len;
__u8 reserved[2]; __u8 reserved[6];
}; };
struct ib_ucm_mra { struct ib_ucm_mra {
...@@ -273,6 +277,7 @@ struct ib_ucm_sidr_req { ...@@ -273,6 +277,7 @@ struct ib_ucm_sidr_req {
__u16 pkey; __u16 pkey;
__u8 len; __u8 len;
__u8 max_cm_retries; __u8 max_cm_retries;
__u8 reserved[4];
}; };
struct ib_ucm_sidr_rep { struct ib_ucm_sidr_rep {
...@@ -284,7 +289,7 @@ struct ib_ucm_sidr_rep { ...@@ -284,7 +289,7 @@ struct ib_ucm_sidr_rep {
__u64 data; __u64 data;
__u8 info_len; __u8 info_len;
__u8 data_len; __u8 data_len;
__u8 reserved[2]; __u8 reserved[6];
}; };
/* /*
* event notification ABI structures. * event notification ABI structures.
...@@ -295,7 +300,7 @@ struct ib_ucm_event_get { ...@@ -295,7 +300,7 @@ struct ib_ucm_event_get {
__u64 info; __u64 info;
__u8 data_len; __u8 data_len;
__u8 info_len; __u8 info_len;
__u8 reserved[2]; __u8 reserved[6];
}; };
struct ib_ucm_req_event_resp { struct ib_ucm_req_event_resp {
...@@ -315,6 +320,7 @@ struct ib_ucm_req_event_resp { ...@@ -315,6 +320,7 @@ struct ib_ucm_req_event_resp {
__u8 rnr_retry_count; __u8 rnr_retry_count;
__u8 srq; __u8 srq;
__u8 port; __u8 port;
__u8 reserved[7];
}; };
struct ib_ucm_rep_event_resp { struct ib_ucm_rep_event_resp {
...@@ -329,7 +335,7 @@ struct ib_ucm_rep_event_resp { ...@@ -329,7 +335,7 @@ struct ib_ucm_rep_event_resp {
__u8 flow_control; __u8 flow_control;
__u8 rnr_retry_count; __u8 rnr_retry_count;
__u8 srq; __u8 srq;
__u8 reserved[1]; __u8 reserved[5];
}; };
struct ib_ucm_rej_event_resp { struct ib_ucm_rej_event_resp {
...@@ -374,6 +380,7 @@ struct ib_ucm_event_resp { ...@@ -374,6 +380,7 @@ struct ib_ucm_event_resp {
__u32 id; __u32 id;
__u32 event; __u32 event;
__u32 present; __u32 present;
__u32 reserved;
union { union {
struct ib_ucm_req_event_resp req_resp; struct ib_ucm_req_event_resp req_resp;
struct ib_ucm_rep_event_resp rep_resp; struct ib_ucm_rep_event_resp rep_resp;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment