diff options
| -rw-r--r-- | arch/x86/kernel/kgdb.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c index 852b81967a37..497f97386412 100644 --- a/arch/x86/kernel/kgdb.c +++ b/arch/x86/kernel/kgdb.c | |||
| @@ -621,7 +621,12 @@ int kgdb_arch_init(void) | |||
| 621 | static void kgdb_hw_overflow_handler(struct perf_event *event, int nmi, | 621 | static void kgdb_hw_overflow_handler(struct perf_event *event, int nmi, |
| 622 | struct perf_sample_data *data, struct pt_regs *regs) | 622 | struct perf_sample_data *data, struct pt_regs *regs) |
| 623 | { | 623 | { |
| 624 | kgdb_ll_trap(DIE_DEBUG, "debug", regs, 0, 0, SIGTRAP); | 624 | struct task_struct *tsk = current; |
| 625 | int i; | ||
| 626 | |||
| 627 | for (i = 0; i < 4; i++) | ||
| 628 | if (breakinfo[i].enabled) | ||
| 629 | tsk->thread.debugreg6 |= (DR_TRAP0 << i); | ||
| 625 | } | 630 | } |
| 626 | 631 | ||
| 627 | void kgdb_arch_late(void) | 632 | void kgdb_arch_late(void) |
