m68knommu: add byteswap assembly opcode for ISA A+
Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
parent
a6260ef841
commit
e872504b31
1 changed files with 15 additions and 1 deletions
|
@ -1,13 +1,27 @@
|
|||
#ifndef _M68KNOMMU_BYTEORDER_H
|
||||
#define _M68KNOMMU_BYTEORDER_H
|
||||
|
||||
#include <asm/types.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 */
|
||||
|
|
Reference in a new issue