aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/include/asm/unaligned.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-11-07 10:53:06 +0100
committerIngo Molnar <mingo@kernel.org>2017-11-07 10:53:06 +0100
commitb3d9a136815ca9284ade2a897a3b7d2b0084c33c (patch)
treeaf222e53d833ff7218577cf98e1b856d9d6bda93 /arch/arm/include/asm/unaligned.h
parentx86/mm: Define _PAGE_TABLE using _KERNPG_TABLE (diff)
parentMerge branch 'for-4.14-fixes' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
downloadlinux-b3d9a136815ca9284ade2a897a3b7d2b0084c33c.tar.gz
linux-b3d9a136815ca9284ade2a897a3b7d2b0084c33c.zip
Merge branch 'linus' into x86/asm, to pick up fixes and resolve conflicts
Conflicts: arch/x86/kernel/cpu/Makefile Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm/include/asm/unaligned.h')
-rw-r--r--arch/arm/include/asm/unaligned.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/arch/arm/include/asm/unaligned.h b/arch/arm/include/asm/unaligned.h
new file mode 100644
index 000000000000..ab905ffcf193
--- /dev/null
+++ b/arch/arm/include/asm/unaligned.h
@@ -0,0 +1,27 @@
+#ifndef __ASM_ARM_UNALIGNED_H
+#define __ASM_ARM_UNALIGNED_H
+
+/*
+ * We generally want to set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS on ARMv6+,
+ * but we don't want to use linux/unaligned/access_ok.h since that can lead
+ * to traps on unaligned stm/ldm or strd/ldrd.
+ */
+#include <asm/byteorder.h>
+
+#if defined(__LITTLE_ENDIAN)
+# include <linux/unaligned/le_struct.h>
+# include <linux/unaligned/be_byteshift.h>
+# include <linux/unaligned/generic.h>
+# define get_unaligned __get_unaligned_le
+# define put_unaligned __put_unaligned_le
+#elif defined(__BIG_ENDIAN)
+# include <linux/unaligned/be_struct.h>
+# include <linux/unaligned/le_byteshift.h>
+# include <linux/unaligned/generic.h>
+# define get_unaligned __get_unaligned_be
+# define put_unaligned __put_unaligned_be
+#else
+# error need to define endianess
+#endif
+
+#endif /* __ASM_ARM_UNALIGNED_H */