The STR Instruction Encoding T4 points that the <imm> is in the
range 0-255.So split the instruction into two for Thumb-2. Just
like commit 874d5d3ccc("ARM: 6623/1: Thumb-2: Fix out-of-range
offset for Thumb-2 in proc-v7.S").

Signed-off-by: Wang Weidong <wangweido...@huawei.com>
---
 arch/arm/mm/proc-macros.S | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/arch/arm/mm/proc-macros.S b/arch/arm/mm/proc-macros.S
index ee1d805..63f710c 100644
--- a/arch/arm/mm/proc-macros.S
+++ b/arch/arm/mm/proc-macros.S
@@ -252,7 +252,9 @@
        tst     r3, #L_PTE_PRESENT | L_PTE_YOUNG        @ present and young?
        movne   r2, #0                          @ no -> fault
 
-       str     r2, [r0, #2048]!                @ hardware version
+ ARM(  str     r2, [r0, #2048]!                ) @ hardware version
+ THUMB( add    r0, r0, #2048                   )
+ THUMB( str    r2, [r0]                        )
        mov     ip, #0
        mcr     p15, 0, r0, c7, c10, 1          @ clean L1 D line
        mcr     p15, 0, ip, c7, c10, 4          @ data write barrier
-- 
1.7.12


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to