From 51ef5d96ce67d6141ec02b2a318f1b6e12be1bcf Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 10 Apr 2009 08:07:23 -0700 Subject: [PATCH] Signed-off-by: Sean Hefty --- test/dtest/dtest.c | 71 +++++++++++++++++----------------------------- 1 file changed, 26 insertions(+), 45 deletions(-) diff --git a/test/dtest/dtest.c b/test/dtest/dtest.c index 6fe6a4f..0ab17dc 100755 --- a/test/dtest/dtest.c +++ b/test/dtest/dtest.c @@ -58,7 +58,10 @@ #define DAPL_PROVIDER "ibnic0v2" #endif -#else +#define ntohll _byteswap_uint64 +#define htonll _byteswap_uint64 + +#else // _WIN32 || _WIN64 #include #include @@ -77,38 +80,16 @@ #define DAPL_PROVIDER "ofa-v2-ib0" #define F64x "%"PRIx64"" -#endif - -/* byte swap helpers from Complib */ -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define ntoh16(x) (uint16_t)( \ - (((uint16_t)(x) & 0x00FF) << 8) | \ - (((uint16_t)(x) & 0xFF00) >> 8)) -#define hton16(x) ntoh16(x) -#define ntoh32(x) (uint32_t)( \ - (((uint32_t)(x) & 0x000000FF) << 24)| \ - (((uint32_t)(x) & 0x0000FF00) << 8) | \ - (((uint32_t)(x) & 0x00FF0000) >> 8) | \ - (((uint32_t)(x) & 0xFF000000) >> 24)) -#define hton32(x) ntoh32(x) -#define ntoh64(x) (uint64_t)( \ - (((uint64_t)x & 0x00000000000000FFULL) << 56) | \ - (((uint64_t)x & 0x000000000000FF00ULL) << 40) | \ - (((uint64_t)x & 0x0000000000FF0000ULL) << 24) | \ - (((uint64_t)x & 0x00000000FF000000ULL) << 8 ) | \ - (((uint64_t)x & 0x000000FF00000000ULL) >> 8 ) | \ - (((uint64_t)x & 0x0000FF0000000000ULL) >> 24) | \ - (((uint64_t)x & 0x00FF000000000000ULL) >> 40) | \ - (((uint64_t)x & 0xFF00000000000000ULL) >> 56)) -#define hton64(x) ntoh64(x) -#elif __BYTE_ORDER == __BIG_ENDIAN -#define hton16(x) (x) -#define ntoh16(x) (x) -#define hton32(x) (x) -#define ntoh32(x) (x) -#define hton64(x) (x) -#define ntoh64(x) (x) -#endif /* __BYTE_ORDER == __BIG_ENDIAN */ + +#if __BYTE_ORDER == __BIG_ENDIAN +#define htonll(x) (x) +#define ntohll(x) (x) +#elif __BYTE_ORDER == __LITTLE_ENDIAN +#define htonll(x) bswap_64(x) +#define ntohll(x) bswap_64(x) +#endif + +#endif // _WIN32 || _WIN64 /* Debug: 1 == connect & close only, otherwise full-meal deal */ #define CONNECT_ONLY 0 @@ -1029,9 +1010,9 @@ connect_ep( char *hostname, DAT_CONN_QUAL conn_id ) /* * Setup our remote memory and tell the other side about it */ - rmr_send_msg.virtual_address = hton64((DAT_VADDR)(uintptr_t)rbuf); - rmr_send_msg.segment_length = hton32(RDMA_BUFFER_SIZE); - rmr_send_msg.rmr_context = hton32(rmr_context_recv); + rmr_send_msg.virtual_address = htonll((DAT_VADDR)(uintptr_t)rbuf); + rmr_send_msg.segment_length = htonl(RDMA_BUFFER_SIZE); + rmr_send_msg.rmr_context = htonl(rmr_context_recv); printf("%d Send RMR msg to remote: r_key_ctx=0x%x,va=%p,len=0x%x\n", getpid(), rmr_context_recv, rbuf, RDMA_BUFFER_SIZE ); @@ -1104,11 +1085,11 @@ connect_ep( char *hostname, DAT_CONN_QUAL conn_id ) /* swap received RMR msg: network order to host order */ r_iov = rmr_recv_msg[recv_msg_index]; rmr_recv_msg[recv_msg_index].rmr_context = - ntoh32(r_iov.rmr_context); + ntohl(r_iov.rmr_context); rmr_recv_msg[recv_msg_index].virtual_address = - ntoh64(r_iov.virtual_address); + ntohll(r_iov.virtual_address); rmr_recv_msg[recv_msg_index].segment_length = - ntoh32(r_iov.segment_length); + ntohl(r_iov.segment_length); printf("%d Received RMR from remote: " "r_iov: r_key_ctx=%x,va="F64x",len=0x%x\n", @@ -1328,11 +1309,11 @@ do_rdma_write_with_msg( void ) /* swap received RMR msg: network order to host order */ r_iov = rmr_recv_msg[recv_msg_index]; rmr_recv_msg[recv_msg_index].virtual_address = - ntoh64(rmr_recv_msg[recv_msg_index].virtual_address); + ntohll(rmr_recv_msg[recv_msg_index].virtual_address); rmr_recv_msg[recv_msg_index].segment_length = - ntoh32(rmr_recv_msg[recv_msg_index].segment_length); + ntohl(rmr_recv_msg[recv_msg_index].segment_length); rmr_recv_msg[recv_msg_index].rmr_context = - ntoh32(rmr_recv_msg[recv_msg_index].rmr_context); + ntohl(rmr_recv_msg[recv_msg_index].rmr_context); printf("%d Received RMR from remote: " "r_iov: r_key_ctx=%x,va="F64x",len=0x%x\n", @@ -1521,11 +1502,11 @@ do_rdma_read_with_msg( void ) /* swap received RMR msg: network order to host order */ r_iov = rmr_recv_msg[recv_msg_index]; rmr_recv_msg[recv_msg_index].virtual_address = - ntoh64(rmr_recv_msg[recv_msg_index].virtual_address); + ntohll(rmr_recv_msg[recv_msg_index].virtual_address); rmr_recv_msg[recv_msg_index].segment_length = - ntoh32(rmr_recv_msg[ recv_msg_index].segment_length); + ntohl(rmr_recv_msg[ recv_msg_index].segment_length); rmr_recv_msg[recv_msg_index].rmr_context = - ntoh32(rmr_recv_msg[recv_msg_index].rmr_context); + ntohl(rmr_recv_msg[recv_msg_index].rmr_context); printf("%d Received RMR from remote: " "r_iov: r_key_ctx=%x,va="F64x",len=0x%x\n", -- 2.46.0