summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2012-03-21 16:17:03 +0100
committerJason Wessel <jason.wessel@windriver.com>2012-03-30 00:41:25 +0200
commit98b54aa1a2241b59372468bd1e9c2d207bdba54b (patch)
tree0a6cc3bc8426434a176e0fcb3c2da23d383a5a3b /include
parentkgdbts: (2 of 2) fix single step awareness to work correctly with SMP (diff)
downloadlinux-98b54aa1a2241b59372468bd1e9c2d207bdba54b.tar.xz
linux-98b54aa1a2241b59372468bd1e9c2d207bdba54b.zip
kgdb,debug_core: pass the breakpoint struct instead of address and memory
There is extra state information that needs to be exposed in the kgdb_bpt structure for tracking how a breakpoint was installed. The debug_core only uses the the probe_kernel_write() to install breakpoints, but this is not enough for all the archs. Some arch such as x86 need to use text_poke() in order to install a breakpoint into a read only page. Passing the kgdb_bpt structure to kgdb_arch_set_breakpoint() and kgdb_arch_remove_breakpoint() allows other archs to set the type variable which indicates how the breakpoint was installed. Cc: stable@vger.kernel.org # >= 2.6.36 Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/kgdb.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
index fa391835508d..e5d689c1d774 100644
--- a/include/linux/kgdb.h
+++ b/include/linux/kgdb.h
@@ -207,8 +207,8 @@ extern void kgdb_arch_set_pc(struct pt_regs *regs, unsigned long pc);
/* Optional functions. */
extern int kgdb_validate_break_address(unsigned long addr);
-extern int kgdb_arch_set_breakpoint(unsigned long addr, char *saved_instr);
-extern int kgdb_arch_remove_breakpoint(unsigned long addr, char *bundle);
+extern int kgdb_arch_set_breakpoint(struct kgdb_bkpt *bpt);
+extern int kgdb_arch_remove_breakpoint(struct kgdb_bkpt *bpt);
/**
* kgdb_arch_late - Perform any architecture specific initalization.