\r
typedef struct _ib_ca\r
{\r
- HH_hca_dev_t *p_hca_ul_info;\r
+ HH_hca_dev_t * __ptr64 p_hca_ul_info;\r
void *p_hca_ul_resources;\r
ib_ca_attr_t *p_hca_attr;\r
HHUL_hca_hndl_t hhul_hca_hndl;\r
* Device information (public object/context)\r
*\r
*/\r
-\r
+#pragma warning( disable : 4201 )\r
typedef struct HH_hca_dev_st {\r
- char *dev_desc; /* Device description (name, etc.) */\r
- char *user_lib; /* User level library (dyn-link) */\r
+ char * __ptr64 dev_desc; /* Device description (name, etc.) */\r
+ char * __ptr64 user_lib; /* User level library (dyn-link) */\r
u_int32_t vendor_id; /* IEEE's 24 bit Device Vendor ID */\r
u_int32_t dev_id; /* Device ID */\r
u_int32_t hw_ver; /* Hardware version (step/rev) */\r
u_int64_t fw_ver;\r
- struct hh_if_ops* if_ops; /* Interface operations */\r
+ struct hh_if_ops* __ptr64 if_ops; /* Interface operations */\r
\r
/* Size (bytes) of user-level ... */\r
+ union\r
+ {\r
MT_size_t hca_ul_resources_sz; /* .. resources context for an HCA */\r
+ void* __ptr64 resv0;\r
+ };\r
+ union\r
+ {\r
MT_size_t pd_ul_resources_sz; /* .. resources context for a PD */\r
+ void* __ptr64 resv1;\r
+ };\r
+ union\r
+ {\r
MT_size_t cq_ul_resources_sz; /* .. resources context for a CQ */\r
+ void* __ptr64 resv2;\r
+ };\r
+ union\r
+ {\r
MT_size_t srq_ul_resources_sz; /* .. resources context for a SRQ */\r
+ void* __ptr64 resv3;\r
+ };\r
+ union\r
+ {\r
MT_size_t qp_ul_resources_sz; /* .. resources context for a QP */\r
+ void* __ptr64 resv4;\r
+ };\r
\r
- void* device; /* Device private data */\r
+ void* __ptr64 device; /* Device private data */\r
HH_hca_status_t status; /* Device Status */\r
} HH_hca_dev_t;\r
-\r
+#pragma warning( default : 4201 )\r
\r
typedef enum {\r
HH_TPT_PAGE,\r
*\r
*/\r
\r
-typedef struct HH_hca_dev_st* HH_hca_hndl_t;\r
+typedef struct HH_hca_dev_st* __ptr64 HH_hca_hndl_t;\r
typedef struct HHUL_sr_wqe_st HHUL_sr_wqe_t;\r
typedef struct HHUL_rr_wqe_st HHUL_rr_wqe_t;\r
\r
typedef struct THH_uar_st *THH_uar_t;\r
\r
\r
+#pragma warning( disable : 4201 )\r
+\r
/* VERSION INFORMATION: used in order to retrieve major version numbers \r
in order to deal with differences in different versions. */\r
typedef struct THH_ver_info_st {\r
HH_hca_hndl_t hh_hca_hndl;\r
THH_ver_info_t version;\r
THH_uar_index_t uar_index;\r
+ union\r
+ {\r
MT_virt_addr_t uar_map;\r
+ void* __ptr64 resv0;\r
+ };\r
/* HCA capabilities to validate or use in THHUL */\r
MT_bool priv_ud_av; /* Privileged UD AV are enforced ? */\r
u_int32_t log2_mpt_size;\r
- char *av_ddr_base;\r
- char *av_host_base;\r
+ char * __ptr64 av_ddr_base;\r
+ char * __ptr64 av_host_base;\r
\r
u_int32_t max_qp_ous_wr; /* Maximum Number of oustanding WR on any WQ. */ \r
u_int32_t max_srq_ous_wr; /* Maximum Number of oustanding WR on any WQ. */ \r
* needed. Therefore, the udavm_buf_size value is the size of the actual udavm\r
* table, not the size of the malloc'ed buffer.\r
*/\r
+ union\r
+ {\r
MT_virt_addr_t udavm_buf; /* IN */\r
+ void* __ptr64 resv0;\r
+ };\r
+ union\r
+ {\r
MT_size_t udavm_buf_sz; /* IN */\r
+ void* __ptr64 resv1;\r
+ };\r
HH_pdm_pd_flags_t pd_flags; /* IN - if non-zero, is a PD for a special QP*/\r
VAPI_lkey_t udavm_buf_memkey; /* OUT - set by THH_uldm */\r
} THH_pd_ul_resources_t;\r
\r
typedef struct\r
{\r
+ union\r
+ {\r
MT_virt_addr_t cqe_buf; /* CQE buffer virtual addr. CQE size aligned */\r
+ void* __ptr64 resv0;\r
+ };\r
+ union\r
+ {\r
MT_size_t cqe_buf_sz; /* Buffer size in bytes (mult of CQE size) */\r
+ void* __ptr64 resv1;\r
+ };\r
THH_uar_index_t uar_index; /* Index of UAR used for this CQ. */\r
u_int32_t new_producer_index; /* New producer index after "resize_cq" (OUT)*/\r
} THH_cq_ul_resources_t;\r
\r
typedef struct \r
{\r
+ union\r
+ {\r
MT_virt_addr_t wqes_buf; /* WQEs buffer virtual address */\r
+ void* __ptr64 resv0;\r
+ };\r
+ union\r
+ {\r
MT_size_t wqes_buf_sz; /* Buffer size in bytes */\r
+ void* __ptr64 resv1;\r
+ };\r
THH_uar_index_t uar_index; /* index of UAR used for this QP */\r
/* ER: Not used anywhere: MT_virt_addr_t uar_map; */ /* Address in user space of UAR */\r
} THH_qp_ul_resources_t;\r
\r
typedef struct \r
{\r
+ union\r
+ {\r
MT_virt_addr_t wqes_buf; /* WQEs buffer virtual address */\r
+ void* __ptr64 resv0;\r
+ };\r
+ union\r
+ {\r
MT_size_t wqes_buf_sz; /* Buffer size in bytes */\r
+ void* __ptr64 resv1;\r
+ };\r
+ union\r
+ {\r
MT_size_t wqe_sz; /* WQE (descriptor) size in bytes */\r
+ void* __ptr64 resv2;\r
+ };\r
THH_uar_index_t uar_index; /* index of UAR used for this QP */\r
} THH_srq_ul_resources_t;\r
\r
+#pragma warning( default : 4201 )\r
#endif /* H_THH_COMMON_H */\r
/******************************************************************************\r
* Function: THH_hob_alloc_rdd <==> THH_eecm_alloc_rdd\r
*****************************************************************************/\r
-HH_ret_t THH_hob_alloc_rdd(HH_hca_dev_t *hh_dev_p, \r
+HH_ret_t THH_hob_alloc_rdd(HH_hca_hndl_t hh_dev_p, \r
HH_rdd_hndl_t *rdd_p)\r
{\r
#if 0\r
/******************************************************************************\r
* Function: THH_hob_free_rdd <==> THH_eecm_free_rdd\r
*****************************************************************************/\r
-HH_ret_t THH_hob_free_rdd(HH_hca_dev_t *hh_dev_p, HH_rdd_hndl_t rdd)\r
+HH_ret_t THH_hob_free_rdd(HH_hca_hndl_t hh_dev_p, HH_rdd_hndl_t rdd)\r
{\r
#if 0\r
THH_hob_t thh_hob_p;\r
DLL_API HH_ret_t THH_hob_free_ul_res(HH_hca_hndl_t hca_hndl,void *hca_ul_resources_p);\r
DLL_API HH_ret_t THH_hob_alloc_pd(HH_hca_hndl_t hca_hndl, MOSAL_protection_ctx_t prot_ctx, void * pd_ul_resources_p,HH_pd_hndl_t *pd_num_p);\r
DLL_API HH_ret_t THH_hob_free_pd(HH_hca_hndl_t hca_hndl, HH_pd_hndl_t pd_num);\r
-DLL_API HH_ret_t THH_hob_alloc_rdd(HH_hca_dev_t *hh_dev_p, HH_rdd_hndl_t *rdd_p);\r
-DLL_API HH_ret_t THH_hob_free_rdd(HH_hca_dev_t *hh_dev_p, HH_rdd_hndl_t rdd);\r
+DLL_API HH_ret_t THH_hob_alloc_rdd(HH_hca_hndl_t hh_dev_p, HH_rdd_hndl_t *rdd_p);\r
+DLL_API HH_ret_t THH_hob_free_rdd(HH_hca_hndl_t hh_dev_p, HH_rdd_hndl_t rdd);\r
DLL_API HH_ret_t THH_hob_create_ud_av(HH_hca_hndl_t hca_hndl,HH_pd_hndl_t pd,VAPI_ud_av_t *av_p, HH_ud_av_hndl_t *ah_p);\r
DLL_API HH_ret_t THH_hob_modify_ud_av(HH_hca_hndl_t hca_hndl, HH_ud_av_hndl_t ah,VAPI_ud_av_t *av_p);\r
DLL_API HH_ret_t THH_hob_query_ud_av(HH_hca_hndl_t hca_hndl, HH_ud_av_hndl_t ah,VAPI_ud_av_t *av_p);\r