aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/kernel/kgdb.c29
-rw-r--r--include/linux/kgdb.h14
-rw-r--r--kernel/debug/debug_core.c8
3 files changed, 0 insertions, 51 deletions
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
index f95a2c0b915c..acba57169938 100644
--- a/arch/x86/kernel/kgdb.c
+++ b/arch/x86/kernel/kgdb.c
@@ -47,20 +47,8 @@
47#include <asm/debugreg.h> 47#include <asm/debugreg.h>
48#include <asm/apicdef.h> 48#include <asm/apicdef.h>
49#include <asm/system.h> 49#include <asm/system.h>
50
51#include <asm/apic.h> 50#include <asm/apic.h>
52 51
53/*
54 * Put the error code here just in case the user cares:
55 */
56static int gdb_x86errcode;
57
58/*
59 * Likewise, the vector number here (since GDB only gets the signal
60 * number through the usual means, and that's not very specific):
61 */
62static int gdb_x86vector = -1;
63
64/** 52/**
65 * pt_regs_to_gdb_regs - Convert ptrace regs to GDB regs 53 * pt_regs_to_gdb_regs - Convert ptrace regs to GDB regs
66 * @gdb_regs: A pointer to hold the registers in the order GDB wants. 54 * @gdb_regs: A pointer to hold the registers in the order GDB wants.
@@ -399,23 +387,6 @@ void kgdb_disable_hw_debug(struct pt_regs *regs)
399 } 387 }
400} 388}
401 389
402/**
403 * kgdb_post_primary_code - Save error vector/code numbers.
404 * @regs: Original pt_regs.
405 * @e_vector: Original error vector.
406 * @err_code: Original error code.
407 *
408 * This is needed on architectures which support SMP and KGDB.
409 * This function is called after all the slave cpus have been put
410 * to a know spin state and the primary CPU has control over KGDB.
411 */
412void kgdb_post_primary_code(struct pt_regs *regs, int e_vector, int err_code)
413{
414 /* primary processor is completely in the debugger */
415 gdb_x86vector = e_vector;
416 gdb_x86errcode = err_code;
417}
418
419#ifdef CONFIG_SMP 390#ifdef CONFIG_SMP
420/** 391/**
421 * kgdb_roundup_cpus - Get other CPUs into a holding pattern 392 * kgdb_roundup_cpus - Get other CPUs into a holding pattern
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
index 407edb1e0c4d..406f6f9286f3 100644
--- a/include/linux/kgdb.h
+++ b/include/linux/kgdb.h
@@ -36,20 +36,6 @@ struct pt_regs;
36extern int kgdb_skipexception(int exception, struct pt_regs *regs); 36extern int kgdb_skipexception(int exception, struct pt_regs *regs);
37 37
38/** 38/**
39 * kgdb_post_primary_code - (optional) Save error vector/code numbers.
40 * @regs: Original pt_regs.
41 * @e_vector: Original error vector.
42 * @err_code: Original error code.
43 *
44 * This is usually needed on architectures which support SMP and
45 * KGDB. This function is called after all the secondary cpus have
46 * been put to a know spin state and the primary CPU has control over
47 * KGDB.
48 */
49extern void kgdb_post_primary_code(struct pt_regs *regs, int e_vector,
50 int err_code);
51
52/**
53 * kgdb_disable_hw_debug - (optional) Disable hardware debugging hook 39 * kgdb_disable_hw_debug - (optional) Disable hardware debugging hook
54 * @regs: Current &struct pt_regs. 40 * @regs: Current &struct pt_regs.
55 * 41 *
diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
index 1aed37b4c564..88a83a225374 100644
--- a/kernel/debug/debug_core.c
+++ b/kernel/debug/debug_core.c
@@ -203,12 +203,6 @@ int __weak kgdb_skipexception(int exception, struct pt_regs *regs)
203 return 0; 203 return 0;
204} 204}
205 205
206void __weak
207kgdb_post_primary_code(struct pt_regs *regs, int e_vector, int err_code)
208{
209 return;
210}
211
212/** 206/**
213 * kgdb_disable_hw_debug - Disable hardware debugging while we in kgdb. 207 * kgdb_disable_hw_debug - Disable hardware debugging while we in kgdb.
214 * @regs: Current &struct pt_regs. 208 * @regs: Current &struct pt_regs.
@@ -588,7 +582,6 @@ return_normal:
588 * At this point the primary processor is completely 582 * At this point the primary processor is completely
589 * in the debugger and all secondary CPUs are quiescent 583 * in the debugger and all secondary CPUs are quiescent
590 */ 584 */
591 kgdb_post_primary_code(ks->linux_regs, ks->ex_vector, ks->err_code);
592 dbg_deactivate_sw_breakpoints(); 585 dbg_deactivate_sw_breakpoints();
593 kgdb_single_step = 0; 586 kgdb_single_step = 0;
594 kgdb_contthread = current; 587 kgdb_contthread = current;
@@ -678,7 +671,6 @@ kgdb_handle_exception(int evector, int signo, int ecode, struct pt_regs *regs)
678 ks->cpu = raw_smp_processor_id(); 671 ks->cpu = raw_smp_processor_id();
679 ks->ex_vector = evector; 672 ks->ex_vector = evector;
680 ks->signo = signo; 673 ks->signo = signo;
681 ks->ex_vector = evector;
682 ks->err_code = ecode; 674 ks->err_code = ecode;
683 ks->kgdb_usethreadid = 0; 675 ks->kgdb_usethreadid = 0;
684 ks->linux_regs = regs; 676 ks->linux_regs = regs;