diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2011-11-07 12:05:53 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-11-26 12:09:53 -0500 |
commit | a633bc89bb5626c6d700c3fc5c3bee01da79ce47 (patch) | |
tree | 6f3b8d27417dedb4ea8e769064a74c9f82929709 /arch | |
parent | 6e99164ee37d513fb99c7b941e3eecbcd8ae8573 (diff) |
ARM: 7150/1: Allow kernel unaligned accesses on ARMv6+ processors
commit 8428e84d42179c2a00f5f6450866e70d802d1d05 upstream.
Recent gcc versions generate unaligned accesses by default on ARMv6 and
later processors. This patch ensures that the SCTLR.A bit is always
cleared on such processors to avoid kernel traping before
alignment_init() is called.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Tested-by: John Linn <John.Linn@xilinx.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/kernel/head.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index 278c1b0ebb2..673151c7f54 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S | |||
@@ -348,7 +348,7 @@ __secondary_data: | |||
348 | * r13 = *virtual* address to jump to upon completion | 348 | * r13 = *virtual* address to jump to upon completion |
349 | */ | 349 | */ |
350 | __enable_mmu: | 350 | __enable_mmu: |
351 | #ifdef CONFIG_ALIGNMENT_TRAP | 351 | #if defined(CONFIG_ALIGNMENT_TRAP) && __LINUX_ARM_ARCH__ < 6 |
352 | orr r0, r0, #CR_A | 352 | orr r0, r0, #CR_A |
353 | #else | 353 | #else |
354 | bic r0, r0, #CR_A | 354 | bic r0, r0, #CR_A |