diff options
Diffstat (limited to 'arch/sh/kernel/traps.c')
-rw-r--r-- | arch/sh/kernel/traps.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/arch/sh/kernel/traps.c b/arch/sh/kernel/traps.c index 7b40f0ff3dfc..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 | ||
79 | ATOMIC_NOTIFIER_HEAD(shdie_chain); | ||
80 | |||
81 | int register_die_notifier(struct notifier_block *nb) | ||
82 | { | ||
83 | return atomic_notifier_chain_register(&shdie_chain, nb); | ||
84 | } | ||
85 | EXPORT_SYMBOL(register_die_notifier); | ||
86 | |||
87 | int unregister_die_notifier(struct notifier_block *nb) | ||
88 | { | ||
89 | return atomic_notifier_chain_unregister(&shdie_chain, nb); | ||
90 | } | ||
91 | EXPORT_SYMBOL(unregister_die_notifier); | ||
92 | |||
93 | static DEFINE_SPINLOCK(die_lock); | 79 | static DEFINE_SPINLOCK(die_lock); |
94 | 80 | ||
95 | void die(const char * str, struct pt_regs * regs, long err) | 81 | void die(const char * str, struct pt_regs * regs, long err) |
@@ -505,7 +491,7 @@ static int handle_unaligned_access(u16 instruction, struct pt_regs *regs) | |||
505 | simple: | 491 | simple: |
506 | ret = handle_unaligned_ins(instruction,regs); | 492 | ret = handle_unaligned_ins(instruction,regs); |
507 | if (ret==0) | 493 | if (ret==0) |
508 | regs->pc += 2; | 494 | regs->pc += instruction_size(instruction); |
509 | return ret; | 495 | return ret; |
510 | } | 496 | } |
511 | #endif /* CONFIG_CPU_SH2A */ | 497 | #endif /* CONFIG_CPU_SH2A */ |
@@ -682,7 +668,7 @@ asmlinkage void do_reserved_inst(unsigned long r4, unsigned long r5, | |||
682 | 668 | ||
683 | err = do_fpu_inst(inst, regs); | 669 | err = do_fpu_inst(inst, regs); |
684 | if (!err) { | 670 | if (!err) { |
685 | regs->pc += 2; | 671 | regs->pc += instruction_size(inst); |
686 | return; | 672 | return; |
687 | } | 673 | } |
688 | /* not a FPU inst. */ | 674 | /* not a FPU inst. */ |