| .. | .. |
|---|
| 18 | 18 | #include <linux/smp.h> |
|---|
| 19 | 19 | #include <linux/kdebug.h> |
|---|
| 20 | 20 | #include <linux/export.h> |
|---|
| 21 | +#include <linux/pgtable.h> |
|---|
| 21 | 22 | |
|---|
| 22 | 23 | #include <asm/delay.h> |
|---|
| 23 | 24 | #include <asm/ptrace.h> |
|---|
| 24 | 25 | #include <asm/oplib.h> |
|---|
| 25 | 26 | #include <asm/page.h> |
|---|
| 26 | | -#include <asm/pgtable.h> |
|---|
| 27 | 27 | #include <asm/unistd.h> |
|---|
| 28 | 28 | #include <asm/traps.h> |
|---|
| 29 | 29 | |
|---|
| .. | .. |
|---|
| 86 | 86 | } |
|---|
| 87 | 87 | printk("Instruction DUMP:"); |
|---|
| 88 | 88 | instruction_dump ((unsigned long *) regs->pc); |
|---|
| 89 | | - if(regs->psr & PSR_PS) |
|---|
| 90 | | - do_exit(SIGKILL); |
|---|
| 91 | | - do_exit(SIGSEGV); |
|---|
| 89 | + make_task_dead((regs->psr & PSR_PS) ? SIGKILL : SIGSEGV); |
|---|
| 92 | 90 | } |
|---|
| 93 | 91 | |
|---|
| 94 | 92 | void do_hw_interrupt(struct pt_regs *regs, unsigned long type) |
|---|
| .. | .. |
|---|
| 103 | 101 | die_if_kernel("Kernel bad trap", regs); |
|---|
| 104 | 102 | |
|---|
| 105 | 103 | force_sig_fault(SIGILL, ILL_ILLTRP, |
|---|
| 106 | | - (void __user *)regs->pc, type - 0x80, current); |
|---|
| 104 | + (void __user *)regs->pc, type - 0x80); |
|---|
| 107 | 105 | } |
|---|
| 108 | 106 | |
|---|
| 109 | 107 | void do_illegal_instruction(struct pt_regs *regs, unsigned long pc, unsigned long npc, |
|---|
| .. | .. |
|---|
| 327 | 325 | printk("Register Access Exception at PC %08lx NPC %08lx PSR %08lx\n", |
|---|
| 328 | 326 | pc, npc, psr); |
|---|
| 329 | 327 | #endif |
|---|
| 330 | | - force_sig_fault(SIGBUS, BUS_OBJERR, (void __user *)pc, 0, current); |
|---|
| 328 | + force_sig_fault(SIGBUS, BUS_OBJERR, (void __user *)pc, 0); |
|---|
| 331 | 329 | } |
|---|
| 332 | 330 | |
|---|
| 333 | 331 | void handle_cp_disabled(struct pt_regs *regs, unsigned long pc, unsigned long npc, |
|---|