]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/m68knommu/include/asm/byteorder.h
Move all of include/asm-m68knommu to arch/m68knommu/include/asm.
[linux-2.6.git] / arch / m68knommu / include / asm / byteorder.h
diff --git a/arch/m68knommu/include/asm/byteorder.h b/arch/m68knommu/include/asm/byteorder.h
new file mode 100644 (file)
index 0000000..20bb442
--- /dev/null
@@ -0,0 +1,27 @@
+#ifndef _M68KNOMMU_BYTEORDER_H
+#define _M68KNOMMU_BYTEORDER_H
+
+#include <linux/types.h>
+
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
+#  define __BYTEORDER_HAS_U64__
+#  define __SWAB_64_THRU_32__
+#endif
+
+#if defined (__mcfisaaplus__) || defined (__mcfisac__)
+static inline __attribute_const__ __u32 ___arch__swab32(__u32 val)
+{
+       asm(
+                       "byterev %0"
+                       : "=d" (val)
+                       : "0" (val)
+          );
+       return val;
+}
+
+#define __arch__swab32(x) ___arch__swab32(x)
+#endif
+
+#include <linux/byteorder/big_endian.h>
+
+#endif /* _M68KNOMMU_BYTEORDER_H */