diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2012-03-21 10:17:03 -0500 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2012-03-29 17:41:25 -0500 |
commit | 98b54aa1a2241b59372468bd1e9c2d207bdba54b (patch) | |
tree | 0a6cc3bc8426434a176e0fcb3c2da23d383a5a3b /include/linux/kgdb.h | |
parent | 23bbd8e346f1ef3fc1219c79cea53d8d52b207d8 (diff) | |
download | lwn-98b54aa1a2241b59372468bd1e9c2d207bdba54b.tar.gz lwn-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/linux/kgdb.h')
-rw-r--r-- | include/linux/kgdb.h | 4 |
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. |