mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 00:18:51 +09:00
![Remy Bohmer](/assets/img/avatar_default.png)
The asm-arm/unaligned.h includes linux/unaligned/access_ok.h This file is unsafe to be used on ARM, since it does an unaligned memory accesses which fails on ARM. Lookin at Linux the basic difference seems to be the header "include/asm-arm/unaligned.h". The Linux version of "unaligned.h" does *not* include "access_ok.h" at all. It includes "le_byteshift.h" and "be_byteshift.h" instead. Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Stefan Roese <sr@denx.de> -- include/asm-arm/unaligned.h | 3 - include/linux/unaligned/be_byteshift.h | 70 +++++++++++++++++++++++++++++++++ include/linux/unaligned/le_byteshift.h | 70 +++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+), 1 deletion(-) create mode 100644 include/linux/unaligned/be_byteshift.h create mode 100644 include/linux/unaligned/le_byteshift.h
20 lines
439 B
C
20 lines
439 B
C
#ifndef _ASM_ARM_UNALIGNED_H
|
|
#define _ASM_ARM_UNALIGNED_H
|
|
|
|
#include <linux/unaligned/le_byteshift.h>
|
|
#include <linux/unaligned/be_byteshift.h>
|
|
#include <linux/unaligned/generic.h>
|
|
|
|
/*
|
|
* Select endianness
|
|
*/
|
|
#ifndef __ARMEB__
|
|
#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 /* _ASM_ARM_UNALIGNED_H */
|