aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2018-01-16 17:12:38 -0500
committerEric W. Biederman <ebiederm@xmission.com>2018-01-22 20:07:10 -0500
commit47355040d2760566901057287b35d5f10e217e12 (patch)
treed61e659036d5775d45e646e16682b14cbaefad8c
parent382467358ac9675b1b6814400a9a9e36dc7da14f (diff)
signal/powerpc: Remove unnecessary signal_code parameter of do_send_trap
signal_code is always TRAP_HWBKPT Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r--arch/powerpc/include/asm/debug.h2
-rw-r--r--arch/powerpc/kernel/process.c6
-rw-r--r--arch/powerpc/kernel/traps.c12
3 files changed, 10 insertions, 10 deletions
diff --git a/arch/powerpc/include/asm/debug.h b/arch/powerpc/include/asm/debug.h
index 14e71ff6579e..fc97404de0a3 100644
--- a/arch/powerpc/include/asm/debug.h
+++ b/arch/powerpc/include/asm/debug.h
@@ -49,7 +49,7 @@ void set_breakpoint(struct arch_hw_breakpoint *brk);
49void __set_breakpoint(struct arch_hw_breakpoint *brk); 49void __set_breakpoint(struct arch_hw_breakpoint *brk);
50#ifdef CONFIG_PPC_ADV_DEBUG_REGS 50#ifdef CONFIG_PPC_ADV_DEBUG_REGS
51extern void do_send_trap(struct pt_regs *regs, unsigned long address, 51extern void do_send_trap(struct pt_regs *regs, unsigned long address,
52 unsigned long error_code, int signal_code, int brkpt); 52 unsigned long error_code, int brkpt);
53#else 53#else
54 54
55extern void do_break(struct pt_regs *regs, unsigned long address, 55extern void do_break(struct pt_regs *regs, unsigned long address,
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 72be0c32e902..bfb48cf56bc3 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -601,11 +601,11 @@ EXPORT_SYMBOL(flush_all_to_thread);
601 601
602#ifdef CONFIG_PPC_ADV_DEBUG_REGS 602#ifdef CONFIG_PPC_ADV_DEBUG_REGS
603void do_send_trap(struct pt_regs *regs, unsigned long address, 603void do_send_trap(struct pt_regs *regs, unsigned long address,
604 unsigned long error_code, int signal_code, int breakpt) 604 unsigned long error_code, int breakpt)
605{ 605{
606 siginfo_t info; 606 siginfo_t info;
607 607
608 current->thread.trap_nr = signal_code; 608 current->thread.trap_nr = TRAP_HWBKPT;
609 if (notify_die(DIE_DABR_MATCH, "dabr_match", regs, error_code, 609 if (notify_die(DIE_DABR_MATCH, "dabr_match", regs, error_code,
610 11, SIGSEGV) == NOTIFY_STOP) 610 11, SIGSEGV) == NOTIFY_STOP)
611 return; 611 return;
@@ -613,7 +613,7 @@ void do_send_trap(struct pt_regs *regs, unsigned long address,
613 /* Deliver the signal to userspace */ 613 /* Deliver the signal to userspace */
614 info.si_signo = SIGTRAP; 614 info.si_signo = SIGTRAP;
615 info.si_errno = breakpt; /* breakpoint or watchpoint id */ 615 info.si_errno = breakpt; /* breakpoint or watchpoint id */
616 info.si_code = signal_code; 616 info.si_code = TRAP_HWBKPT;
617 info.si_addr = (void __user *)address; 617 info.si_addr = (void __user *)address;
618 force_sig_info(SIGTRAP, &info, current); 618 force_sig_info(SIGTRAP, &info, current);
619} 619}
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index f2e6e1838952..c93f1e6a9fff 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -1750,34 +1750,34 @@ static void handle_debug(struct pt_regs *regs, unsigned long debug_status)
1750#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE 1750#ifdef CONFIG_PPC_ADV_DEBUG_DAC_RANGE
1751 current->thread.debug.dbcr2 &= ~DBCR2_DAC12MODE; 1751 current->thread.debug.dbcr2 &= ~DBCR2_DAC12MODE;
1752#endif 1752#endif
1753 do_send_trap(regs, mfspr(SPRN_DAC1), debug_status, TRAP_HWBKPT, 1753 do_send_trap(regs, mfspr(SPRN_DAC1), debug_status,
1754 5); 1754 5);
1755 changed |= 0x01; 1755 changed |= 0x01;
1756 } else if (debug_status & (DBSR_DAC2R | DBSR_DAC2W)) { 1756 } else if (debug_status & (DBSR_DAC2R | DBSR_DAC2W)) {
1757 dbcr_dac(current) &= ~(DBCR_DAC2R | DBCR_DAC2W); 1757 dbcr_dac(current) &= ~(DBCR_DAC2R | DBCR_DAC2W);
1758 do_send_trap(regs, mfspr(SPRN_DAC2), debug_status, TRAP_HWBKPT, 1758 do_send_trap(regs, mfspr(SPRN_DAC2), debug_status,
1759 6); 1759 6);
1760 changed |= 0x01; 1760 changed |= 0x01;
1761 } else if (debug_status & DBSR_IAC1) { 1761 } else if (debug_status & DBSR_IAC1) {
1762 current->thread.debug.dbcr0 &= ~DBCR0_IAC1; 1762 current->thread.debug.dbcr0 &= ~DBCR0_IAC1;
1763 dbcr_iac_range(current) &= ~DBCR_IAC12MODE; 1763 dbcr_iac_range(current) &= ~DBCR_IAC12MODE;
1764 do_send_trap(regs, mfspr(SPRN_IAC1), debug_status, TRAP_HWBKPT, 1764 do_send_trap(regs, mfspr(SPRN_IAC1), debug_status,
1765 1); 1765 1);
1766 changed |= 0x01; 1766 changed |= 0x01;
1767 } else if (debug_status & DBSR_IAC2) { 1767 } else if (debug_status & DBSR_IAC2) {
1768 current->thread.debug.dbcr0 &= ~DBCR0_IAC2; 1768 current->thread.debug.dbcr0 &= ~DBCR0_IAC2;
1769 do_send_trap(regs, mfspr(SPRN_IAC2), debug_status, TRAP_HWBKPT, 1769 do_send_trap(regs, mfspr(SPRN_IAC2), debug_status,
1770 2); 1770 2);
1771 changed |= 0x01; 1771 changed |= 0x01;
1772 } else if (debug_status & DBSR_IAC3) { 1772 } else if (debug_status & DBSR_IAC3) {
1773 current->thread.debug.dbcr0 &= ~DBCR0_IAC3; 1773 current->thread.debug.dbcr0 &= ~DBCR0_IAC3;
1774 dbcr_iac_range(current) &= ~DBCR_IAC34MODE; 1774 dbcr_iac_range(current) &= ~DBCR_IAC34MODE;
1775 do_send_trap(regs, mfspr(SPRN_IAC3), debug_status, TRAP_HWBKPT, 1775 do_send_trap(regs, mfspr(SPRN_IAC3), debug_status,
1776 3); 1776 3);
1777 changed |= 0x01; 1777 changed |= 0x01;
1778 } else if (debug_status & DBSR_IAC4) { 1778 } else if (debug_status & DBSR_IAC4) {
1779 current->thread.debug.dbcr0 &= ~DBCR0_IAC4; 1779 current->thread.debug.dbcr0 &= ~DBCR0_IAC4;
1780 do_send_trap(regs, mfspr(SPRN_IAC4), debug_status, TRAP_HWBKPT, 1780 do_send_trap(regs, mfspr(SPRN_IAC4), debug_status,
1781 4); 1781 4);
1782 changed |= 0x01; 1782 changed |= 0x01;
1783 } 1783 }