HACK stay compatible with the emulated TLS register HACK
authorBrian Swetland <swetland@google.com>
Thu, 29 Jan 2009 04:45:48 +0000 (20:45 -0800)
committerColin Cross <ccross@android.com>
Thu, 30 Sep 2010 00:49:26 +0000 (17:49 -0700)
Change-Id: I06453a7ce78a3d201f3cd5145d3000b0d9ba11fe

arch/arm/include/asm/tls.h
arch/arm/kernel/traps.c

index e71d6ff8d1046c294d0a22dbc686228e0d75faf3..80f749368e4f4c53b7e206b4eea3a4401f2c9edd 100644 (file)
@@ -7,6 +7,8 @@
 
        .macro set_tls_v6k, tp, tmp1, tmp2
        mcr     p15, 0, \tp, c13, c0, 3         @ set TLS register
+       mov     \tmp1, #0xffff0fff
+       str     \tp, [\tmp1, #-15]              @ set TLS value at 0xffff0ff0
        .endm
 
        .macro set_tls_v6, tp, tmp1, tmp2
@@ -15,7 +17,7 @@
        mov     \tmp2, #0xffff0fff
        tst     \tmp1, #HWCAP_TLS               @ hardware TLS available?
        mcrne   p15, 0, \tp, c13, c0, 3         @ yes, set TLS register
-       streq   \tp, [\tmp2, #-15]              @ set TLS value at 0xffff0ff0
+       str     \tp, [\tmp2, #-15]              @ set TLS value at 0xffff0ff0
        .endm
 
        .macro set_tls_software, tp, tmp1, tmp2
index cda78d59aa31b2971ed897b9db78afd6bfb0f36e..81ff213e08e39c01b8ec12e72a627855ae31e502 100644 (file)
@@ -524,7 +524,7 @@ asmlinkage int arm_syscall(int no, struct pt_regs *regs)
                if (has_tls_reg) {
                        asm ("mcr p15, 0, %0, c13, c0, 3"
                                : : "r" (regs->ARM_r0));
-               } else {
+               } /*else*/ {
                        /*
                         * User space must never try to access this directly.
                         * Expect your app to break eventually if you do so.