diff options
author | Michal Simek | 2010-09-28 08:04:14 +0200 |
---|---|---|
committer | Michal Simek | 2010-10-21 07:51:59 +0200 |
commit | 02b08045a0306c38131c6d7155c4034a775d40b1 (patch) | |
tree | e146f1811ec3c93ff4877a895e42b71a91932d2b /arch/microblaze/include/asm/unaligned.h | |
parent | microblaze: KGDB little endian support (diff) | |
download | kernel-qcow2-linux-02b08045a0306c38131c6d7155c4034a775d40b1.tar.gz kernel-qcow2-linux-02b08045a0306c38131c6d7155c4034a775d40b1.tar.xz kernel-qcow2-linux-02b08045a0306c38131c6d7155c4034a775d40b1.zip |
microblaze: Add support for little-endian Microblaze
Microblaze little-endian toolchain exports __MICROBLAZEEL__
which is used in the kernel to identify little/big endian.
The most of the changes are in loading values from DTB which
is always big endian.
Little endian platforms are based on new AXI bus which has
impact to early uartlite initialization.
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/include/asm/unaligned.h')
-rw-r--r-- | arch/microblaze/include/asm/unaligned.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/arch/microblaze/include/asm/unaligned.h b/arch/microblaze/include/asm/unaligned.h index 3658d91ac0fb..2b97cbe500e9 100644 --- a/arch/microblaze/include/asm/unaligned.h +++ b/arch/microblaze/include/asm/unaligned.h @@ -12,12 +12,18 @@ # ifdef __KERNEL__ -# include <linux/unaligned/be_struct.h> +# include <linux/unaligned/be_byteshift.h> # include <linux/unaligned/le_byteshift.h> # include <linux/unaligned/generic.h> -# define get_unaligned __get_unaligned_be -# define put_unaligned __put_unaligned_be + +# ifdef __MICROBLAZEEL__ +# define get_unaligned __get_unaligned_le +# define put_unaligned __put_unaligned_le +# else +# define get_unaligned __get_unaligned_be +# define put_unaligned __put_unaligned_be +# endif # endif /* __KERNEL__ */ #endif /* _ASM_MICROBLAZE_UNALIGNED_H */ |