diff options
Diffstat (limited to 'arch/mips/kernel/traps.c')
| -rw-r--r-- | arch/mips/kernel/traps.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 1a4dd657ccb9..d612c6dcb746 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
| @@ -352,9 +352,10 @@ void show_registers(const struct pt_regs *regs) | |||
| 352 | 352 | ||
| 353 | static DEFINE_SPINLOCK(die_lock); | 353 | static DEFINE_SPINLOCK(die_lock); |
| 354 | 354 | ||
| 355 | void __noreturn die(const char * str, const struct pt_regs * regs) | 355 | void __noreturn die(const char * str, struct pt_regs * regs) |
| 356 | { | 356 | { |
| 357 | static int die_counter; | 357 | static int die_counter; |
| 358 | int sig = SIGSEGV; | ||
| 358 | #ifdef CONFIG_MIPS_MT_SMTC | 359 | #ifdef CONFIG_MIPS_MT_SMTC |
| 359 | unsigned long dvpret = dvpe(); | 360 | unsigned long dvpret = dvpe(); |
| 360 | #endif /* CONFIG_MIPS_MT_SMTC */ | 361 | #endif /* CONFIG_MIPS_MT_SMTC */ |
| @@ -365,6 +366,10 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
| 365 | #ifdef CONFIG_MIPS_MT_SMTC | 366 | #ifdef CONFIG_MIPS_MT_SMTC |
| 366 | mips_mt_regdump(dvpret); | 367 | mips_mt_regdump(dvpret); |
| 367 | #endif /* CONFIG_MIPS_MT_SMTC */ | 368 | #endif /* CONFIG_MIPS_MT_SMTC */ |
| 369 | |||
| 370 | if (notify_die(DIE_OOPS, str, regs, 0, current->thread.trap_no, SIGSEGV) == NOTIFY_STOP) | ||
| 371 | sig = 0; | ||
| 372 | |||
| 368 | printk("%s[#%d]:\n", str, ++die_counter); | 373 | printk("%s[#%d]:\n", str, ++die_counter); |
| 369 | show_registers(regs); | 374 | show_registers(regs); |
| 370 | add_taint(TAINT_DIE); | 375 | add_taint(TAINT_DIE); |
| @@ -379,7 +384,7 @@ void __noreturn die(const char * str, const struct pt_regs * regs) | |||
| 379 | panic("Fatal exception"); | 384 | panic("Fatal exception"); |
| 380 | } | 385 | } |
| 381 | 386 | ||
| 382 | do_exit(SIGSEGV); | 387 | do_exit(sig); |
| 383 | } | 388 | } |
| 384 | 389 | ||
| 385 | extern struct exception_table_entry __start___dbe_table[]; | 390 | extern struct exception_table_entry __start___dbe_table[]; |
| @@ -1557,12 +1562,7 @@ static char panic_null_cerr[] __cpuinitdata = | |||
| 1557 | void __cpuinit set_uncached_handler(unsigned long offset, void *addr, | 1562 | void __cpuinit set_uncached_handler(unsigned long offset, void *addr, |
| 1558 | unsigned long size) | 1563 | unsigned long size) |
| 1559 | { | 1564 | { |
| 1560 | #ifdef CONFIG_32BIT | 1565 | unsigned long uncached_ebase = CKSEG1ADDR(ebase); |
| 1561 | unsigned long uncached_ebase = KSEG1ADDR(ebase); | ||
| 1562 | #endif | ||
| 1563 | #ifdef CONFIG_64BIT | ||
| 1564 | unsigned long uncached_ebase = TO_UNCAC(ebase); | ||
| 1565 | #endif | ||
| 1566 | 1566 | ||
| 1567 | if (!addr) | 1567 | if (!addr) |
| 1568 | panic(panic_null_cerr); | 1568 | panic(panic_null_cerr); |
