
2013/2/21 Gabor Juhos juhosg@openwrt.org:
The purpose of the __raw* IO accessors is to provide IO access in native-endian order. However in the current MIPS implementation, the 16 and 32 bit variants of the __raw accessors are swapping the values on big-endian systems if the CONFIG_SWAP_IO_SPACE option is enabled.
The patch changes the IO accessor macros to fix this broken behaviour.
Signed-off-by: Gabor Juhos juhosg@openwrt.org Cc: Daniel Schwierzeck daniel.schwierzeck@googlemail.com
Note:
The change does not affect the existing MIPS targets because none of those are using CONFIG_SWAP_IO_SPACE. Compiling all MIPS targets results in the same binary image with and without the patch.
arch/mips/include/asm/io.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-)
applied to u-boot-mips/master, thanks