aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/acm/acm_endian.h
diff options
context:
space:
mode:
Diffstat (limited to 'xen/include/acm/acm_endian.h')
-rw-r--r--xen/include/acm/acm_endian.h52
1 files changed, 11 insertions, 41 deletions
diff --git a/xen/include/acm/acm_endian.h b/xen/include/acm/acm_endian.h
index 49d23b5d04..11781dd4f4 100644
--- a/xen/include/acm/acm_endian.h
+++ b/xen/include/acm/acm_endian.h
@@ -22,57 +22,27 @@
#ifndef _ACM_ENDIAN_H
#define _ACM_ENDIAN_H
-/* don't use these functions in performance critical sections! */
-
-/* set during initialization by testing */
-extern u8 little_endian;
-
-static inline u32 ntohl(u32 x)
-{
- if (little_endian)
- return
- ( (((x) >> 24) & 0xff )|
- (((x) >> 8) & 0xff00 )|
- (((x) << 8) & 0xff0000 )|
- (((x) << 24) & 0xff000000) );
- else
- return x;
-}
-
-static inline u16 ntohs(u16 x)
-{
- if (little_endian)
- return
- ( (((x) >> 8) & 0xff )|
- (((x) << 8) & 0xff00 ) );
- else
- return x;
-}
-
-#define htonl(x) ntohl(x)
-#define htons(x) ntohs(x)
+#include <asm/byteorder.h>
static inline void arrcpy16(u16 *dest, const u16 *src, size_t n)
{
- unsigned int i = 0;
- while (i < n) {
- dest[i] = htons(src[i]);
- i++;
- }
+ unsigned int i;
+ for ( i = 0; i < n; i++ )
+ dest[i] = cpu_to_be16(src[i]);
}
static inline void arrcpy32(u32 *dest, const u32 *src, size_t n)
{
- unsigned int i = 0;
- while (i < n) {
- dest[i] = htonl(src[i]);
- i++;
- }
+ unsigned int i;
+ for ( i = 0; i < n; i++ )
+ dest[i] = cpu_to_be32(src[i]);
}
-static inline void arrcpy(void *dest, const void *src, unsigned int elsize, size_t n)
+static inline void arrcpy(
+ void *dest, const void *src, unsigned int elsize, size_t n)
{
- switch (elsize) {
+ switch ( elsize )
+ {
case sizeof(u16):
arrcpy16((u16 *)dest, (u16 *)src, n);
break;