MIPS: Fix MSA ld_*/st_* asm macros to use PTR_ADDU
authorJames Hogan <james.hogan@imgtec.com>
Fri, 15 Apr 2016 09:07:24 +0000 (10:07 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Mon, 9 May 2016 10:00:04 +0000 (12:00 +0200)
The MSA ld_*/st_* assembler macros for when the toolchain doesn't
support MSA use addu to offset the base address. However it is a virtual
memory pointer so fix it to use PTR_ADDU which expands to daddu for
64-bit kernels.

Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # 4.3.y-
Patchwork: https://patchwork.linux-mips.org/patch/13062/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/asmmacro.h

index b99b38862fcb6fb44e7bfbfb44daa823313efe3c..e689b894353c451b806b6429f3242db0486ff22a 100644 (file)
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   LDB_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   LDH_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   LDW_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   LDD_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   STB_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   STH_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   STW_MSA_INSN | (\wd << 6)
        .set    pop
        .endm
        .set    push
        .set    noat
        SET_HARDFLOAT
-       addu    $1, \base, \off
+       PTR_ADDU $1, \base, \off
        .word   STD_MSA_INSN | (\wd << 6)
        .set    pop
        .endm