Commit e70ac023 authored by Paul Burton's avatar Paul Burton Committed by Ralf Baechle

MIPS: Allow emulation for unaligned [LS]DXC1 instructions

If an address error exception occurs for a LDXC1 or SDXC1 instruction,
within the cop1x opcode space, allow it to be passed through to the FPU
emulator rather than resulting in a SIGILL. This causes LDXC1 & SDXC1 to
be handled in a manner consistent with the more common LDC1 & SDC1
instructions.
Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Tested-by: default avatarAurelien Jarno <aurelien@aurel32.net>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/13143/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent abf378be
...@@ -1191,6 +1191,7 @@ static void emulate_load_store_insn(struct pt_regs *regs, ...@@ -1191,6 +1191,7 @@ static void emulate_load_store_insn(struct pt_regs *regs,
case ldc1_op: case ldc1_op:
case swc1_op: case swc1_op:
case sdc1_op: case sdc1_op:
case cop1x_op:
die_if_kernel("Unaligned FP access in kernel code", regs); die_if_kernel("Unaligned FP access in kernel code", regs);
BUG_ON(!used_math()); BUG_ON(!used_math());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment