提交 a90993c6 编写于 作者: J Jesper Nilsson

CRIS: Fixup lookup for delay slot faults

Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
上级 7c8a25b5
...@@ -334,8 +334,11 @@ int ...@@ -334,8 +334,11 @@ int
find_fixup_code(struct pt_regs *regs) find_fixup_code(struct pt_regs *regs)
{ {
const struct exception_table_entry *fixup; const struct exception_table_entry *fixup;
/* in case of delay slot fault (v32) */
unsigned long ip = (instruction_pointer(regs) & ~0x1);
if ((fixup = search_exception_tables(instruction_pointer(regs))) != 0) { fixup = search_exception_tables(ip);
if (fixup != 0) {
/* Adjust the instruction pointer in the stackframe. */ /* Adjust the instruction pointer in the stackframe. */
instruction_pointer(regs) = fixup->fixup; instruction_pointer(regs) = fixup->fixup;
arch_fixup(regs); arch_fixup(regs);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册