process.c (e68ef121c1f4c38edf87a3354661ceb99d522729) process.c (74c6881019b7d56c327fffc268d97adb5eb1b4f9)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Derived from "arch/i386/kernel/process.c"
4 * Copyright (C) 1995 Linus Torvalds
5 *
6 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and
7 * Paul Mackerras (paulus@cs.anu.edu.au)
8 *

--- 615 unchanged lines hidden (view full) ---

624 current->thread.trap_nr = TRAP_HWBKPT;
625 if (notify_die(DIE_DABR_MATCH, "dabr_match", regs, error_code,
626 11, SIGSEGV) == NOTIFY_STOP)
627 return;
628
629 if (debugger_break_match(regs))
630 return;
631
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Derived from "arch/i386/kernel/process.c"
4 * Copyright (C) 1995 Linus Torvalds
5 *
6 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and
7 * Paul Mackerras (paulus@cs.anu.edu.au)
8 *

--- 615 unchanged lines hidden (view full) ---

624 current->thread.trap_nr = TRAP_HWBKPT;
625 if (notify_die(DIE_DABR_MATCH, "dabr_match", regs, error_code,
626 11, SIGSEGV) == NOTIFY_STOP)
627 return;
628
629 if (debugger_break_match(regs))
630 return;
631
632 /* Clear the breakpoint */
633 hw_breakpoint_disable();
634
635 /* Deliver the signal to userspace */
636 force_sig_fault(SIGTRAP, TRAP_HWBKPT, (void __user *)address);
637}
638#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
639
640static DEFINE_PER_CPU(struct arch_hw_breakpoint, current_brk[HBP_NUM_MAX]);
641
642#ifdef CONFIG_PPC_ADV_DEBUG_REGS

--- 1586 unchanged lines hidden ---
632 /* Deliver the signal to userspace */
633 force_sig_fault(SIGTRAP, TRAP_HWBKPT, (void __user *)address);
634}
635#endif /* CONFIG_PPC_ADV_DEBUG_REGS */
636
637static DEFINE_PER_CPU(struct arch_hw_breakpoint, current_brk[HBP_NUM_MAX]);
638
639#ifdef CONFIG_PPC_ADV_DEBUG_REGS

--- 1586 unchanged lines hidden ---