diff options
| author | 2016-04-15 10:07:24 +0100 | |
|---|---|---|
| committer | 2016-05-09 12:00:04 +0200 | |
| commit | ea1688573426adc2587ed52d086b51c7c62eaca3 (patch) | |
| tree | c68ddee88529a2e167446f86cb84ed6a55e4f8bf | |
| parent | MIPS: Use copy_s.fmt rather than copy_u.fmt (diff) | |
| download | linux-dev-ea1688573426adc2587ed52d086b51c7c62eaca3.tar.xz linux-dev-ea1688573426adc2587ed52d086b51c7c62eaca3.zip  | |
MIPS: Fix MSA ld_*/st_* asm macros to use PTR_ADDU
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>
| -rw-r--r-- | arch/mips/include/asm/asmmacro.h | 16 | 
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/mips/include/asm/asmmacro.h b/arch/mips/include/asm/asmmacro.h index b99b38862fcb..e689b894353c 100644 --- a/arch/mips/include/asm/asmmacro.h +++ b/arch/mips/include/asm/asmmacro.h @@ -393,7 +393,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	LDB_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -402,7 +402,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	LDH_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -411,7 +411,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	LDW_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -420,7 +420,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	LDD_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -429,7 +429,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	STB_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -438,7 +438,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	STH_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -447,7 +447,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	STW_MSA_INSN | (\wd << 6)  	.set	pop  	.endm @@ -456,7 +456,7 @@  	.set	push  	.set	noat  	SET_HARDFLOAT -	addu	$1, \base, \off +	PTR_ADDU $1, \base, \off  	.word	STD_MSA_INSN | (\wd << 6)  	.set	pop  	.endm  | 
