]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/asm-ia64/byteorder.h
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / include / asm-ia64 / byteorder.h
1 #ifndef _ASM_IA64_BYTEORDER_H
2 #define _ASM_IA64_BYTEORDER_H
3
4 /*
5 * Modified 1998, 1999
6 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
7 */
8
9 #include <asm/types.h>
10 #include <asm/intrinsics.h>
11 #include <linux/compiler.h>
12
13 static __inline__ __attribute_const__ __u64
14 __ia64_swab64 (__u64 x)
15 {
16 __u64 result;
17
18 result = ia64_mux1(x, ia64_mux1_rev);
19 return result;
20 }
21
22 static __inline__ __attribute_const__ __u32
23 __ia64_swab32 (__u32 x)
24 {
25 return __ia64_swab64(x) >> 32;
26 }
27
28 static __inline__ __attribute_const__ __u16
29 __ia64_swab16(__u16 x)
30 {
31 return __ia64_swab64(x) >> 48;
32 }
33
34 #define __arch__swab64(x) __ia64_swab64(x)
35 #define __arch__swab32(x) __ia64_swab32(x)
36 #define __arch__swab16(x) __ia64_swab16(x)
37
38 #define __BYTEORDER_HAS_U64__
39
40 #include <linux/byteorder/little_endian.h>
41
42 #endif /* _ASM_IA64_BYTEORDER_H */