aboutsummaryrefslogtreecommitdiffstats
path: root/testing/xen/fix_bswap_blktap2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/xen/fix_bswap_blktap2.patch')
-rw-r--r--testing/xen/fix_bswap_blktap2.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/testing/xen/fix_bswap_blktap2.patch b/testing/xen/fix_bswap_blktap2.patch
new file mode 100644
index 0000000000..69cd2e369c
--- /dev/null
+++ b/testing/xen/fix_bswap_blktap2.patch
@@ -0,0 +1,62 @@
+# HG changeset patch
+# Parent 00d9ee3844121f4a7f01e42933751e49b0448abb
+blktap2: remove local definitions and include byteswap.h
+
+Use the same approach as tools/blktap2/include/libvhd.h, remove local
+definitions of bswap* and include byteswap.h. Also remove the
+HAVE_BYTESWAP_H ifdef, since it was not defined in this context (it's
+defined by QEMU).
+
+Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
+
+diff -r 00d9ee384412 tools/blktap2/drivers/bswap.h
+--- a/tools/blktap2/drivers/bswap.h Tue Dec 20 05:24:17 2011 +0100
++++ b/tools/blktap2/drivers/bswap.h Tue Dec 20 05:25:18 2011 +0100
+@@ -13,45 +13,10 @@
+ #define bswap_16(x) swap16(x)
+ #define bswap_32(x) swap32(x)
+ #define bswap_64(x) swap64(x)
+-#else
++#elif defined(__linux__)
+
+-#ifdef HAVE_BYTESWAP_H
++#include <endian.h>
+ #include <byteswap.h>
+-#else
+-
+-#define bswap_16(x) \
+-({ \
+- uint16_t __x = (x); \
+- ((uint16_t)( \
+- (((uint16_t)(__x) & (uint16_t)0x00ffU) << 8) | \
+- (((uint16_t)(__x) & (uint16_t)0xff00U) >> 8) )); \
+-})
+-
+-#define bswap_32(x) \
+-({ \
+- uint32_t __x = (x); \
+- ((uint32_t)( \
+- (((uint32_t)(__x) & (uint32_t)0x000000ffUL) << 24) | \
+- (((uint32_t)(__x) & (uint32_t)0x0000ff00UL) << 8) | \
+- (((uint32_t)(__x) & (uint32_t)0x00ff0000UL) >> 8) | \
+- (((uint32_t)(__x) & (uint32_t)0xff000000UL) >> 24) )); \
+-})
+-
+-#define bswap_64(x) \
+-({ \
+- uint64_t __x = (x); \
+- ((uint64_t)( \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
+- (uint64_t)(((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56) )); \
+-})
+-
+-#endif /* !HAVE_BYTESWAP_H */
+
+ static inline uint16_t bswap16(uint16_t x)
+ {