fault.c (712cba5d87a6c0e980ee5fad45734e189c4d7151) | fault.c (61a92f703120daf7ed25e046275aa8a2d3085ad4) |
---|---|
1/* 2 * PowerPC version 3 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 4 * 5 * Derived from "arch/i386/mm/fault.c" 6 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds 7 * 8 * Modified by Cort Dougan and Paul Mackerras. --- 498 unchanged lines hidden (view full) --- 507 * of the procedures in traps.c. 508 */ 509void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) 510{ 511 const struct exception_table_entry *entry; 512 513 /* Are we prepared to handle this fault? */ 514 if ((entry = search_exception_tables(regs->nip)) != NULL) { | 1/* 2 * PowerPC version 3 * Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org) 4 * 5 * Derived from "arch/i386/mm/fault.c" 6 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds 7 * 8 * Modified by Cort Dougan and Paul Mackerras. --- 498 unchanged lines hidden (view full) --- 507 * of the procedures in traps.c. 508 */ 509void bad_page_fault(struct pt_regs *regs, unsigned long address, int sig) 510{ 511 const struct exception_table_entry *entry; 512 513 /* Are we prepared to handle this fault? */ 514 if ((entry = search_exception_tables(regs->nip)) != NULL) { |
515 regs->nip = entry->fixup; | 515 regs->nip = extable_fixup(entry); |
516 return; 517 } 518 519 /* kernel has accessed a bad area */ 520 521 switch (regs->trap) { 522 case 0x300: 523 case 0x380: --- 25 unchanged lines hidden --- | 516 return; 517 } 518 519 /* kernel has accessed a bad area */ 520 521 switch (regs->trap) { 522 case 0x300: 523 case 0x380: --- 25 unchanged lines hidden --- |