diff options
Diffstat (limited to 'arch/sh/kernel/process.c')
-rw-r--r-- | arch/sh/kernel/process.c | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 486c06e18033..cc8f306fd682 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c | |||
@@ -493,9 +493,27 @@ asmlinkage void break_point_trap(void) | |||
493 | force_sig(SIGTRAP, current); | 493 | force_sig(SIGTRAP, current); |
494 | } | 494 | } |
495 | 495 | ||
496 | asmlinkage void break_point_trap_software(unsigned long r4, unsigned long r5, | 496 | /* |
497 | unsigned long r6, unsigned long r7, | 497 | * Generic trap handler. |
498 | struct pt_regs __regs) | 498 | */ |
499 | asmlinkage void debug_trap_handler(unsigned long r4, unsigned long r5, | ||
500 | unsigned long r6, unsigned long r7, | ||
501 | struct pt_regs __regs) | ||
502 | { | ||
503 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | ||
504 | |||
505 | /* Rewind */ | ||
506 | regs->pc -= 2; | ||
507 | |||
508 | force_sig(SIGTRAP, current); | ||
509 | } | ||
510 | |||
511 | /* | ||
512 | * Special handler for BUG() traps. | ||
513 | */ | ||
514 | asmlinkage void bug_trap_handler(unsigned long r4, unsigned long r5, | ||
515 | unsigned long r6, unsigned long r7, | ||
516 | struct pt_regs __regs) | ||
499 | { | 517 | { |
500 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); | 518 | struct pt_regs *regs = RELOC_HIDE(&__regs, 0); |
501 | 519 | ||