diff options
author | Markos Chandras <markos.chandras@imgtec.com> | 2014-11-19 06:09:55 -0500 |
---|---|---|
committer | Markos Chandras <markos.chandras@imgtec.com> | 2015-02-17 10:37:23 -0500 |
commit | 1922c356ab2d0031d1acc2979043da4a1105dc4a (patch) | |
tree | 8bfa7c59afc1ca5a61ecb3c82ea41a53e888fc6b /arch | |
parent | 87a927eff4da65c119c9b693df9234b4ad0c403f (diff) |
MIPS: asm: futex: Set the appropriate ISA level for MIPS R6
MIPS R6 changed the opcodes for LL/SC instructions so we need to set
the appropriate ISA level.
Cc: Matthew Fortune <Matthew.Fortune@imgtec.com>
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/include/asm/futex.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips/include/asm/futex.h b/arch/mips/include/asm/futex.h index f666c0608c11..1de190bdfb9c 100644 --- a/arch/mips/include/asm/futex.h +++ b/arch/mips/include/asm/futex.h | |||
@@ -53,11 +53,11 @@ | |||
53 | __asm__ __volatile__( \ | 53 | __asm__ __volatile__( \ |
54 | " .set push \n" \ | 54 | " .set push \n" \ |
55 | " .set noat \n" \ | 55 | " .set noat \n" \ |
56 | " .set arch=r4000 \n" \ | 56 | " .set "MIPS_ISA_ARCH_LEVEL" \n" \ |
57 | "1: "user_ll("%1", "%4")" # __futex_atomic_op\n" \ | 57 | "1: "user_ll("%1", "%4")" # __futex_atomic_op\n" \ |
58 | " .set mips0 \n" \ | 58 | " .set mips0 \n" \ |
59 | " " insn " \n" \ | 59 | " " insn " \n" \ |
60 | " .set arch=r4000 \n" \ | 60 | " .set "MIPS_ISA_ARCH_LEVEL" \n" \ |
61 | "2: "user_sc("$1", "%2")" \n" \ | 61 | "2: "user_sc("$1", "%2")" \n" \ |
62 | " beqz $1, 1b \n" \ | 62 | " beqz $1, 1b \n" \ |
63 | __WEAK_LLSC_MB \ | 63 | __WEAK_LLSC_MB \ |
@@ -183,12 +183,12 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr, | |||
183 | "# futex_atomic_cmpxchg_inatomic \n" | 183 | "# futex_atomic_cmpxchg_inatomic \n" |
184 | " .set push \n" | 184 | " .set push \n" |
185 | " .set noat \n" | 185 | " .set noat \n" |
186 | " .set arch=r4000 \n" | 186 | " .set "MIPS_ISA_ARCH_LEVEL" \n" |
187 | "1: "user_ll("%1", "%3")" \n" | 187 | "1: "user_ll("%1", "%3")" \n" |
188 | " bne %1, %z4, 3f \n" | 188 | " bne %1, %z4, 3f \n" |
189 | " .set mips0 \n" | 189 | " .set mips0 \n" |
190 | " move $1, %z5 \n" | 190 | " move $1, %z5 \n" |
191 | " .set arch=r4000 \n" | 191 | " .set "MIPS_ISA_ARCH_LEVEL" \n" |
192 | "2: "user_sc("$1", "%2")" \n" | 192 | "2: "user_sc("$1", "%2")" \n" |
193 | " beqz $1, 1b \n" | 193 | " beqz $1, 1b \n" |
194 | __WEAK_LLSC_MB | 194 | __WEAK_LLSC_MB |