12345678910111213141516171819202122232425262728 |
- #ifndef _M68K_SWAB_H
- #define _M68K_SWAB_H
- #include <linux/types.h>
- #include <linux/compiler.h>
- #define __SWAB_64_THRU_32__
- #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 __arch_swab32
- #elif !defined(__mcoldfire__)
- static inline __attribute_const__ __u32 __arch_swab32(__u32 val)
- {
- __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val));
- return val;
- }
- #define __arch_swab32 __arch_swab32
- #endif
- #endif /* _M68K_SWAB_H */
|