795611e6ff
The toolchain sets __aarch64__ for both LE and BE. In the case of posix_types.h we cannot reliably use config.h as that will lead to problems. In the case of byteorder.h it's clearer to check the EB flag being set in either case instead. Cc: David Feng <fenghua@phytium.com.cn> Signed-off-by: Tom Rini <trini@ti.com> Amended by Albert ARIBAUD <albert.u.boot@aribaud.net> to actually remove the config.h include from the posix_types.h files, with permission from Tom Rini.
33 lines
828 B
C
33 lines
828 B
C
/*
|
|
* linux/include/asm-arm/byteorder.h
|
|
*
|
|
* ARM Endian-ness. In little endian mode, the data bus is connected such
|
|
* that byte accesses appear as:
|
|
* 0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31
|
|
* and word accesses (data or instruction) appear as:
|
|
* d0...d31
|
|
*
|
|
* When in big endian mode, byte accesses appear as:
|
|
* 0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7
|
|
* and word accesses (data or instruction) appear as:
|
|
* d0...d31
|
|
*/
|
|
#ifndef __ASM_ARM_BYTEORDER_H
|
|
#define __ASM_ARM_BYTEORDER_H
|
|
|
|
|
|
#include <asm/types.h>
|
|
|
|
#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
|
|
# define __BYTEORDER_HAS_U64__
|
|
# define __SWAB_64_THRU_32__
|
|
#endif
|
|
|
|
#if defined(__ARMEB__) || defined(__AARCH64EB__)
|
|
#include <linux/byteorder/big_endian.h>
|
|
#else
|
|
#include <linux/byteorder/little_endian.h>
|
|
#endif
|
|
|
|
#endif
|