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 | ||
