Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+4 -4
+4 -4
arch/mips/include/asm/futex.h
··· 53 53 __asm__ __volatile__( \ 54 54 " .set push \n" \ 55 55 " .set noat \n" \ 56 - " .set arch=r4000 \n" \ 56 + " .set "MIPS_ISA_ARCH_LEVEL" \n" \ 57 57 "1: "user_ll("%1", "%4")" # __futex_atomic_op\n" \ 58 58 " .set mips0 \n" \ 59 59 " " insn " \n" \ 60 - " .set arch=r4000 \n" \ 60 + " .set "MIPS_ISA_ARCH_LEVEL" \n" \ 61 61 "2: "user_sc("$1", "%2")" \n" \ 62 62 " beqz $1, 1b \n" \ 63 63 __WEAK_LLSC_MB \ ··· 183 183 "# futex_atomic_cmpxchg_inatomic \n" 184 184 " .set push \n" 185 185 " .set noat \n" 186 - " .set arch=r4000 \n" 186 + " .set "MIPS_ISA_ARCH_LEVEL" \n" 187 187 "1: "user_ll("%1", "%3")" \n" 188 188 " bne %1, %z4, 3f \n" 189 189 " .set mips0 \n" 190 190 " move $1, %z5 \n" 191 - " .set arch=r4000 \n" 191 + " .set "MIPS_ISA_ARCH_LEVEL" \n" 192 192 "2: "user_sc("$1", "%2")" \n" 193 193 " beqz $1, 1b \n" 194 194 __WEAK_LLSC_MB