aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-05-08 21:55:38 -0400
committerPaul Mundt <lethal@linux-sh.org>2007-05-08 21:55:38 -0400
commitb118ca572db5af832c6fc1af7b301105378d1a08 (patch)
treef312b3f0f863b56add106efdf091d1f51447a0d0 /arch/sh
parent21ec4c6453790cb9bfa996ab8f27f22dd47c516a (diff)
sh: Convert to common die chain.
This went in immediately after SH added the die chain notifiers, so move over to that instead.. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r--arch/sh/kernel/process.c6
-rw-r--r--arch/sh/kernel/traps.c16
-rw-r--r--arch/sh/mm/fault.c2
3 files changed, 5 insertions, 19 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
index 9005b2f12aaa..d755589ba8b1 100644
--- a/arch/sh/kernel/process.c
+++ b/arch/sh/kernel/process.c
@@ -15,7 +15,7 @@
15#include <linux/pm.h> 15#include <linux/pm.h>
16#include <linux/kallsyms.h> 16#include <linux/kallsyms.h>
17#include <linux/kexec.h> 17#include <linux/kexec.h>
18#include <asm/kdebug.h> 18#include <linux/kdebug.h>
19#include <asm/uaccess.h> 19#include <asm/uaccess.h>
20#include <asm/mmu_context.h> 20#include <asm/mmu_context.h>
21#include <asm/pgalloc.h> 21#include <asm/pgalloc.h>
@@ -500,7 +500,7 @@ asmlinkage void debug_trap_handler(unsigned long r4, unsigned long r5,
500 /* Rewind */ 500 /* Rewind */
501 regs->pc -= instruction_size(ctrl_inw(regs->pc - 4)); 501 regs->pc -= instruction_size(ctrl_inw(regs->pc - 4));
502 502
503 if (notify_die(DIE_TRAP, regs, regs->tra & 0xff, 503 if (notify_die(DIE_TRAP, "debug trap", regs, 0, regs->tra & 0xff,
504 SIGTRAP) == NOTIFY_STOP) 504 SIGTRAP) == NOTIFY_STOP)
505 return; 505 return;
506 506
@@ -519,7 +519,7 @@ asmlinkage void bug_trap_handler(unsigned long r4, unsigned long r5,
519 /* Rewind */ 519 /* Rewind */
520 regs->pc -= instruction_size(ctrl_inw(regs->pc - 4)); 520 regs->pc -= instruction_size(ctrl_inw(regs->pc - 4));
521 521
522 if (notify_die(DIE_TRAP, regs, TRAPA_BUG_OPCODE & 0xff, 522 if (notify_die(DIE_TRAP, "bug trap", regs, 0, TRAPA_BUG_OPCODE & 0xff,
523 SIGTRAP) == NOTIFY_STOP) 523 SIGTRAP) == NOTIFY_STOP)
524 return; 524 return;
525 525
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c
index 1446d12ba220..3a197649cd83 100644
--- a/arch/sh/kernel/traps.c
+++ b/arch/sh/kernel/traps.c
@@ -20,10 +20,10 @@
20#include <linux/io.h> 20#include <linux/io.h>
21#include <linux/bug.h> 21#include <linux/bug.h>
22#include <linux/debug_locks.h> 22#include <linux/debug_locks.h>
23#include <linux/kdebug.h>
23#include <linux/limits.h> 24#include <linux/limits.h>
24#include <asm/system.h> 25#include <asm/system.h>
25#include <asm/uaccess.h> 26#include <asm/uaccess.h>
26#include <asm/kdebug.h>
27 27
28#ifdef CONFIG_SH_KGDB 28#ifdef CONFIG_SH_KGDB
29#include <asm/kgdb.h> 29#include <asm/kgdb.h>
@@ -76,20 +76,6 @@ static void dump_mem(const char *str, unsigned long bottom, unsigned long top)
76 } 76 }
77} 77}
78 78
79ATOMIC_NOTIFIER_HEAD(shdie_chain);
80
81int register_die_notifier(struct notifier_block *nb)
82{
83 return atomic_notifier_chain_register(&shdie_chain, nb);
84}
85EXPORT_SYMBOL(register_die_notifier);
86
87int unregister_die_notifier(struct notifier_block *nb)
88{
89 return atomic_notifier_chain_unregister(&shdie_chain, nb);
90}
91EXPORT_SYMBOL(unregister_die_notifier);
92
93static DEFINE_SPINLOCK(die_lock); 79static DEFINE_SPINLOCK(die_lock);
94 80
95void die(const char * str, struct pt_regs * regs, long err) 81void die(const char * str, struct pt_regs * regs, long err)
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c
index 0ecc117cade4..9207da67ff8a 100644
--- a/arch/sh/mm/fault.c
+++ b/arch/sh/mm/fault.c
@@ -15,7 +15,7 @@
15#include <linux/mm.h> 15#include <linux/mm.h>
16#include <linux/hardirq.h> 16#include <linux/hardirq.h>
17#include <linux/kprobes.h> 17#include <linux/kprobes.h>
18#include <asm/kdebug.h> 18#include <linux/kdebug.h>
19#include <asm/system.h> 19#include <asm/system.h>
20#include <asm/mmu_context.h> 20#include <asm/mmu_context.h>
21#include <asm/tlbflush.h> 21#include <asm/tlbflush.h>