Date: Sun, 6 Jul 2014 16:20:38 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r268321 - head/sys/powerpc/include Message-ID: <201407061620.s66GKce3081375@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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_ */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407061620.s66GKce3081375>