kdb: core for kgdb back end (1 of 2)
authorJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:20 +0000 (21:04 -0500)
committerJason Wessel <jason.wessel@windriver.com>
Fri, 21 May 2010 02:04:20 +0000 (21:04 -0500)
commit5d5314d6795f3c1c0f415348ff8c51f7de042b77
tree2f433649d29be98ebc975f352b7d7046a2a2beec
parente8861129d3c1a64e3c62f459aeb1cd54a55ab045
kdb: core for kgdb back end (1 of 2)

This patch contains only the kdb core.  Because the change set was
large, it was split.  The next patch in the series includes the
instrumentation into the core kernel which are mainly helper functions
for kdb.

This work is directly derived from kdb v4.4 found at:

ftp://oss.sgi.com/projects/kdb/download/v4.4/

The kdb internals have been re-organized to make them mostly platform
independent and to connect everything to the debug core which is used by
gdbstub (which has long been known as kgdb).

The original version of kdb was 58,000 lines worth of changes to
support x86.  From that implementation only the kdb shell, and basic
commands for memory access, runcontrol, lsmod, and dmesg where carried
forward.

This is a generic implementation which aims to cover all the current
architectures using the kgdb core: ppc, arm, x86, mips, sparc, sh and
blackfin.  More archictectures can be added by implementing the
architecture specific kgdb functions.

[mort@sgi.com: Compile fix with hugepages enabled]
[mort@sgi.com: Clean breakpoint code renaming kdba_ -> kdb_]
[mort@sgi.com: fix new line after printing registers]
[mort@sgi.com: Remove the concept of global vs. local breakpoints]
[mort@sgi.com: Rework kdb_si_swapinfo to use more generic name]
[mort@sgi.com: fix the information dump macros, remove 'arch' from the names]
[sfr@canb.auug.org.au: include fixup to include linux/slab.h]

CC: linux-arch@vger.kernel.org
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Martin Hicks <mort@sgi.com>
12 files changed:
include/linux/kdb.h [new file with mode: 0644]
kernel/debug/Makefile
kernel/debug/kdb/.gitignore [new file with mode: 0644]
kernel/debug/kdb/Makefile [new file with mode: 0644]
kernel/debug/kdb/kdb_bp.c [new file with mode: 0644]
kernel/debug/kdb/kdb_bt.c [new file with mode: 0644]
kernel/debug/kdb/kdb_cmds [new file with mode: 0644]
kernel/debug/kdb/kdb_debugger.c [new file with mode: 0644]
kernel/debug/kdb/kdb_io.c [new file with mode: 0644]
kernel/debug/kdb/kdb_main.c [new file with mode: 0644]
kernel/debug/kdb/kdb_private.h [new file with mode: 0644]
kernel/debug/kdb/kdb_support.c [new file with mode: 0644]