svn commit: r268321 - head/sys/powerpc/include
Nathan Whitehorn
nwhitehorn at FreeBSD.org
Sun Jul 6 16:20:38 UTC 2014
Author: nwhitehorn
Date: Sun Jul 6 16:20:37 2014
New Revision: 268321
URL: http://svnweb.freebsd.org/changeset/base/268321
Log:
In case we ever support little-endian PowerPC (probably userland only),
avoid hardcoding endianness here.
Modified:
head/sys/powerpc/include/endian.h
Modified: head/sys/powerpc/include/endian.h
==============================================================================
--- head/sys/powerpc/include/endian.h Sun Jul 6 16:19:55 2014 (r268320)
+++ head/sys/powerpc/include/endian.h Sun Jul 6 16:20:37 2014 (r268321)
@@ -39,8 +39,13 @@
/*
* Define the order of 32-bit words in 64-bit words.
*/
+#ifdef __LITTLE_ENDIAN__
+#define _QUAD_HIGHWORD 1
+#define _QUAD_LOWWORD 0
+#else
#define _QUAD_HIGHWORD 0
#define _QUAD_LOWWORD 1
+#endif
/*
* GCC defines _BIG_ENDIAN and _LITTLE_ENDIAN equal to __BIG_ENDIAN__
@@ -131,9 +136,16 @@ __bswap64_var(__uint64_t _x)
#define __bswap64(x) (__is_constant(x) ? __bswap64_const(x) : \
__bswap64_var(x))
+#ifdef __LITTLE_ENDIAN__
+#define __htonl(x) (__bswap32((__uint32_t)(x)))
+#define __htons(x) (__bswap16((__uint16_t)(x)))
+#define __ntohl(x) (__bswap32((__uint32_t)(x)))
+#define __ntohs(x) (__bswap16((__uint16_t)(x)))
+#else
#define __htonl(x) ((__uint32_t)(x))
#define __htons(x) ((__uint16_t)(x))
#define __ntohl(x) ((__uint32_t)(x))
#define __ntohs(x) ((__uint16_t)(x))
+#endif
#endif /* !_MACHINE_ENDIAN_H_ */
More information about the svn-src-all
mailing list