Sfoglia il codice sorgente

CRIS: Fixup lookup for delay slot faults

Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Jesper Nilsson 15 anni fa
parent
commit
a90993c693
1 ha cambiato i file con 4 aggiunte e 1 eliminazioni
  1. 4 1
      arch/cris/mm/fault.c

+ 4 - 1
arch/cris/mm/fault.c

@@ -334,8 +334,11 @@ int
 find_fixup_code(struct pt_regs *regs)
 {
 	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. */
 		instruction_pointer(regs) = fixup->fixup;
 		arch_fixup(regs);