This macro is used in the context of defining enum values. We can't use a function call in that case.
Cc: qemu-triv...@nongnu.org Signed-off-by: Richard Henderson <r...@twiddle.net> --- hw/vmxnet3.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hw/vmxnet3.h b/hw/vmxnet3.h index 7db0c8f..cd9ac85 100644 --- a/hw/vmxnet3.h +++ b/hw/vmxnet3.h @@ -37,7 +37,15 @@ #define __packed QEMU_PACKED #if defined(HOST_WORDS_BIGENDIAN) -#define const_cpu_to_le64(x) bswap_64(x) +#define const_cpu_to_le64(x) \ + (((x & 0x00000000000000ffULL) << 56) | \ + ((x & 0x000000000000ff00ULL) << 40) | \ + ((x & 0x0000000000ff0000ULL) << 24) | \ + ((x & 0x00000000ff000000ULL) << 8) | \ + ((x & 0x000000ff00000000ULL) >> 8) | \ + ((x & 0x0000ff0000000000ULL) >> 24) | \ + ((x & 0x00ff000000000000ULL) >> 40) | \ + ((x & 0xff00000000000000ULL) >> 56)) #define __BIG_ENDIAN_BITFIELD #else #define const_cpu_to_le64(x) (x) -- 1.8.1.4