diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2017-07-30 22:28:15 +0200 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2017-08-07 16:31:03 +0200 |
commit | 68fe55680d0f3342969f49412fceabb90bdfadba (patch) | |
tree | 52ed945f164b1ffeebc5c70a843cbc4b43173f03 /arch/alpha | |
parent | MIPS: VDSO: Fix clobber lists in fallback code paths (diff) | |
download | linux-68fe55680d0f3342969f49412fceabb90bdfadba.tar.xz linux-68fe55680d0f3342969f49412fceabb90bdfadba.zip |
MIPS: DEC: Fix an int-handler.S CPU_DADDI_WORKAROUNDS regression
Fix a commit 3021773c7c3e ("MIPS: DEC: Avoid la pseudo-instruction in
delay slots") regression and remove assembly errors:
arch/mips/dec/int-handler.S: Assembler messages:
arch/mips/dec/int-handler.S:162: Error: Macro used $at after ".set noat"
arch/mips/dec/int-handler.S:163: Error: Macro used $at after ".set noat"
arch/mips/dec/int-handler.S:229: Error: Macro used $at after ".set noat"
arch/mips/dec/int-handler.S:230: Error: Macro used $at after ".set noat"
triggering with with the CPU_DADDI_WORKAROUNDS option set and the DADDIU
instruction. This is because with that option in place the instruction
becomes a macro, which expands to an LI/DADDU (or actually ADDIU/DADDU)
sequence that uses $at as a temporary register.
With CPU_DADDI_WORKAROUNDS we only support `-msym32' compilation though,
and this is already enforced in arch/mips/Makefile, so choose the 32-bit
expansion variant for the supported configurations and then replace the
64-bit variant with #error just in case.
Fixes: 3021773c7c3e ("MIPS: DEC: Avoid la pseudo-instruction in delay slots")
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Cc: linux-mips@linux-mips.org
Cc: stable@vger.kernel.org # 4.8+
Patchwork: https://patchwork.linux-mips.org/patch/16893/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/alpha')
0 files changed, 0 insertions, 0 deletions