Prechádzať zdrojové kódy

ARM: 7592/1: nommu: prevent generation of kernel unaligned memory accesses

Recent ARMv7 toolchains assume that unaligned memory accesses will not
fault and will instead be handled by the processor.

For the nommu case (without an MPU), memory will be treated as
strongly-ordered and therefore unaligned accesses may fault regardless
of the SCTLR.A setting.

This patch passes -mno-unaligned-access to GCC when compiling for nommu
targets, preventing the generation of unaligned memory access in the
kernel.

Acked-by: Nicolas Pitre <nico@linaro.org>
Tested-by: Jonathan Austin <jonathan.austin@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Will Deacon 12 rokov pred
rodič
commit
e91b36efe5
1 zmenil súbory, kde vykonal 1 pridanie a 0 odobranie
  1. 1 0
      arch/arm/Makefile

+ 1 - 0
arch/arm/Makefile

@@ -34,6 +34,7 @@ KBUILD_DEFCONFIG := versatile_defconfig
 # defines filename extension depending memory management type.
 # defines filename extension depending memory management type.
 ifeq ($(CONFIG_MMU),)
 ifeq ($(CONFIG_MMU),)
 MMUEXT		:= -nommu
 MMUEXT		:= -nommu
+KBUILD_CFLAGS	+= $(call cc-option,-mno-unaligned-access)
 endif
 endif
 
 
 ifeq ($(CONFIG_FRAME_POINTER),y)
 ifeq ($(CONFIG_FRAME_POINTER),y)