diff options
author | Dave Martin <dave.martin@linaro.org> | 2011-01-13 18:43:01 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-01-14 04:00:30 -0500 |
commit | 874d5d3ccc04c0659b76b05ee0c761f568062cb1 (patch) | |
tree | e462017a1163df87b75b68fdc1d40f2dcde56537 /arch/arm/mm | |
parent | 0adfca6ff2131c7c67dffe094611097bbc9f5005 (diff) |
ARM: 6623/1: Thumb-2: Fix out-of-range offset for Thumb-2 in proc-v7.S
Commit d30e45e (ARM: pgtable: switch order of Linux vs hardware page tables)
introduced a pre-increment addressing offset which is out of range for
Thumb-2. Thumb-2 only permits offsets <256. So split the intruction in
two for Thumb-2.
Signed-off-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm')
-rw-r--r-- | arch/arm/mm/proc-v7.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S index b49fab21517c..0c1172b56b4e 100644 --- a/arch/arm/mm/proc-v7.S +++ b/arch/arm/mm/proc-v7.S | |||
@@ -159,7 +159,9 @@ ENTRY(cpu_v7_set_pte_ext) | |||
159 | tstne r1, #L_PTE_PRESENT | 159 | tstne r1, #L_PTE_PRESENT |
160 | moveq r3, #0 | 160 | moveq r3, #0 |
161 | 161 | ||
162 | str r3, [r0, #2048]! | 162 | ARM( str r3, [r0, #2048]! ) |
163 | THUMB( add r0, r0, #2048 ) | ||
164 | THUMB( str r3, [r0] ) | ||
163 | mcr p15, 0, r0, c7, c10, 1 @ flush_pte | 165 | mcr p15, 0, r0, c7, c10, 1 @ flush_pte |
164 | #endif | 166 | #endif |
165 | mov pc, lr | 167 | mov pc, lr |