sh: Fix unaligned memory access for branches without delay slots
This patch just clears the return code for those cases where an unaligned memory access occurs on branch instructions without a delay slot. Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:

committed by
Paul Mundt

parent
2d0b579a98
commit
0710b91c51
@@ -466,6 +466,7 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
|
|||||||
case 0x0500: /* mov.w @(disp,Rm),R0 */
|
case 0x0500: /* mov.w @(disp,Rm),R0 */
|
||||||
goto simple;
|
goto simple;
|
||||||
case 0x0B00: /* bf lab - no delayslot*/
|
case 0x0B00: /* bf lab - no delayslot*/
|
||||||
|
ret = 0;
|
||||||
break;
|
break;
|
||||||
case 0x0F00: /* bf/s lab */
|
case 0x0F00: /* bf/s lab */
|
||||||
ret = handle_delayslot(regs, instruction, ma);
|
ret = handle_delayslot(regs, instruction, ma);
|
||||||
@@ -479,6 +480,7 @@ int handle_unaligned_access(insn_size_t instruction, struct pt_regs *regs,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 0x0900: /* bt lab - no delayslot */
|
case 0x0900: /* bt lab - no delayslot */
|
||||||
|
ret = 0;
|
||||||
break;
|
break;
|
||||||
case 0x0D00: /* bt/s lab */
|
case 0x0D00: /* bt/s lab */
|
||||||
ret = handle_delayslot(regs, instruction, ma);
|
ret = handle_delayslot(regs, instruction, ma);
|
||||||
|
Reference in New Issue
Block a user