diff options
Diffstat (limited to 'include/asm-cris/arch-v10/byteorder.h')
-rw-r--r-- | include/asm-cris/arch-v10/byteorder.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/asm-cris/arch-v10/byteorder.h b/include/asm-cris/arch-v10/byteorder.h new file mode 100644 index 0000000..e24465d --- /dev/null +++ b/include/asm-cris/arch-v10/byteorder.h @@ -0,0 +1,26 @@ +#ifndef _CRIS_ARCH_BYTEORDER_H +#define _CRIS_ARCH_BYTEORDER_H + +#include <asm/types.h> +#include <linux/compiler.h> + +/* we just define these two (as we can do the swap in a single + * asm instruction in CRIS) and the arch-independent files will put + * them together into ntohl etc. + */ + +extern __inline__ __attribute_const__ __u32 ___arch__swab32(__u32 x) +{ + __asm__ ("swapwb %0" : "=r" (x) : "0" (x)); + + return(x); +} + +extern __inline__ __attribute_const__ __u16 ___arch__swab16(__u16 x) +{ + __asm__ ("swapb %0" : "=r" (x) : "0" (x)); + + return(x); +} + +#endif |