Commit 99ce7614 authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Greg Kroah-Hartman

MIPS: Rename `sigill_r6' to `sigill_r2r6' in `__compute_return_epc_for_insn'

commit 1f4edde4 upstream.

Use the more accurate `sigill_r2r6' name for the label used in the case
of sending SIGILL in the absence of the instruction emulator for an
earlier ISA level instruction that has been removed as from the R6 ISA,
so that the `sigill_r6' name is freed for the situation where an R6
instruction is not supposed to be interpreted, because the executing
processor does not support the R6 ISA.
Signed-off-by: default avatarMaciej W. Rozycki <macro@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16397/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 86dd4aa3
...@@ -431,7 +431,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -431,7 +431,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
/* Fall through */ /* Fall through */
case jr_op: case jr_op:
if (NO_R6EMU && insn.r_format.func == jr_op) if (NO_R6EMU && insn.r_format.func == jr_op)
goto sigill_r6; goto sigill_r2r6;
regs->cp0_epc = regs->regs[insn.r_format.rs]; regs->cp0_epc = regs->regs[insn.r_format.rs];
break; break;
} }
...@@ -446,7 +446,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -446,7 +446,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
switch (insn.i_format.rt) { switch (insn.i_format.rt) {
case bltzl_op: case bltzl_op:
if (NO_R6EMU) if (NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case bltz_op: case bltz_op:
if ((long)regs->regs[insn.i_format.rs] < 0) { if ((long)regs->regs[insn.i_format.rs] < 0) {
epc = epc + 4 + (insn.i_format.simmediate << 2); epc = epc + 4 + (insn.i_format.simmediate << 2);
...@@ -459,7 +459,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -459,7 +459,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
case bgezl_op: case bgezl_op:
if (NO_R6EMU) if (NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case bgez_op: case bgez_op:
if ((long)regs->regs[insn.i_format.rs] >= 0) { if ((long)regs->regs[insn.i_format.rs] >= 0) {
epc = epc + 4 + (insn.i_format.simmediate << 2); epc = epc + 4 + (insn.i_format.simmediate << 2);
...@@ -574,7 +574,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -574,7 +574,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
*/ */
case beql_op: case beql_op:
if (NO_R6EMU) if (NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case beq_op: case beq_op:
if (regs->regs[insn.i_format.rs] == if (regs->regs[insn.i_format.rs] ==
regs->regs[insn.i_format.rt]) { regs->regs[insn.i_format.rt]) {
...@@ -588,7 +588,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -588,7 +588,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
case bnel_op: case bnel_op:
if (NO_R6EMU) if (NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case bne_op: case bne_op:
if (regs->regs[insn.i_format.rs] != if (regs->regs[insn.i_format.rs] !=
regs->regs[insn.i_format.rt]) { regs->regs[insn.i_format.rt]) {
...@@ -602,7 +602,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -602,7 +602,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
case blezl_op: /* not really i_format */ case blezl_op: /* not really i_format */
if (!insn.i_format.rt && NO_R6EMU) if (!insn.i_format.rt && NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case blez_op: case blez_op:
/* /*
* Compact branches for R6 for the * Compact branches for R6 for the
...@@ -637,7 +637,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -637,7 +637,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
case bgtzl_op: case bgtzl_op:
if (!insn.i_format.rt && NO_R6EMU) if (!insn.i_format.rt && NO_R6EMU)
goto sigill_r6; goto sigill_r2r6;
case bgtz_op: case bgtz_op:
/* /*
* Compact branches for R6 for the * Compact branches for R6 for the
...@@ -836,7 +836,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs, ...@@ -836,7 +836,7 @@ int __compute_return_epc_for_insn(struct pt_regs *regs,
current->comm); current->comm);
force_sig(SIGILL, current); force_sig(SIGILL, current);
return -EFAULT; return -EFAULT;
sigill_r6: sigill_r2r6:
pr_info("%s: R2 branch but r2-to-r6 emulator is not preset - sending SIGILL.\n", pr_info("%s: R2 branch but r2-to-r6 emulator is not preset - sending SIGILL.\n",
current->comm); current->comm);
force_sig(SIGILL, current); force_sig(SIGILL, current);
......
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