Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88...
[linux-2.6-microblaze.git] / lib / Kconfig.kgdb
1
2 config HAVE_ARCH_KGDB
3         bool
4
5 menuconfig KGDB
6         bool "KGDB: kernel debugger"
7         depends on HAVE_ARCH_KGDB
8         depends on DEBUG_KERNEL
9         help
10           If you say Y here, it will be possible to remotely debug the
11           kernel using gdb.  It is recommended but not required, that
12           you also turn on the kernel config option
13           CONFIG_FRAME_POINTER to aid in producing more reliable stack
14           backtraces in the external debugger.  Documentation of
15           kernel debugger is available at http://kgdb.sourceforge.net
16           as well as in Documentation/dev-tools/kgdb.rst.  If
17           unsure, say N.
18
19 if KGDB
20
21 config KGDB_SERIAL_CONSOLE
22         tristate "KGDB: use kgdb over the serial console"
23         select CONSOLE_POLL
24         select MAGIC_SYSRQ
25         depends on TTY && HW_CONSOLE
26         default y
27         help
28           Share a serial console with kgdb. Sysrq-g must be used
29           to break in initially.
30
31 config KGDB_TESTS
32         bool "KGDB: internal test suite"
33         default n
34         help
35           This is a kgdb I/O module specifically designed to test
36           kgdb's internal functions.  This kgdb I/O module is
37           intended to for the development of new kgdb stubs
38           as well as regression testing the kgdb internals.
39           See the drivers/misc/kgdbts.c for the details about
40           the tests.  The most basic of this I/O module is to boot
41           a kernel boot arguments "kgdbwait kgdbts=V1F100"
42
43 config KGDB_TESTS_ON_BOOT
44         bool "KGDB: Run tests on boot"
45         depends on KGDB_TESTS
46         default n
47         help
48           Run the kgdb tests on boot up automatically without the need
49           to pass in a kernel parameter
50
51 config KGDB_TESTS_BOOT_STRING
52         string "KGDB: which internal kgdb tests to run"
53         depends on KGDB_TESTS_ON_BOOT
54         default "V1F100"
55         help
56           This is the command string to send the kgdb test suite on
57           boot.  See the drivers/misc/kgdbts.c for detailed
58           information about other strings you could use beyond the
59           default of V1F100.
60
61 config KGDB_LOW_LEVEL_TRAP
62        bool "KGDB: Allow debugging with traps in notifiers"
63        depends on X86 || MIPS
64        default n
65        help
66          This will add an extra call back to kgdb for the breakpoint
67          exception handler which will allow kgdb to step through a
68          notify handler.
69
70 config KGDB_KDB
71         bool "KGDB_KDB: include kdb frontend for kgdb"
72         default n
73         help
74           KDB frontend for kernel
75
76 config KDB_DEFAULT_ENABLE
77         hex "KDB: Select kdb command functions to be enabled by default"
78         depends on KGDB_KDB
79         default 0x1
80         help
81           Specifiers which kdb commands are enabled by default. This may
82           be set to 1 or 0 to enable all commands or disable almost all
83           commands.
84
85           Alternatively the following bitmask applies:
86
87             0x0002 - allow arbitrary reads from memory and symbol lookup
88             0x0004 - allow arbitrary writes to memory
89             0x0008 - allow current register state to be inspected
90             0x0010 - allow current register state to be modified
91             0x0020 - allow passive inspection (backtrace, process list, lsmod)
92             0x0040 - allow flow control management (breakpoint, single step)
93             0x0080 - enable signalling of processes
94             0x0100 - allow machine to be rebooted
95
96           The config option merely sets the default at boot time. Both
97           issuing 'echo X > /sys/module/kdb/parameters/cmd_enable' or
98           setting with kdb.cmd_enable=X kernel command line option will
99           override the default settings.
100
101 config KDB_KEYBOARD
102         bool "KGDB_KDB: keyboard as input device"
103         depends on VT && KGDB_KDB
104         default n
105         help
106           KDB can use a PS/2 type keyboard for an input device
107
108 config KDB_CONTINUE_CATASTROPHIC
109         int "KDB: continue after catastrophic errors"
110         depends on KGDB_KDB
111         default "0"
112         help
113           This integer controls the behaviour of kdb when the kernel gets a
114           catastrophic error, i.e. for a panic or oops.
115           When KDB is active and a catastrophic error occurs, nothing extra
116           will happen until you type 'go'.
117           CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time
118           you type 'go', you will be warned by kdb. The secend time you type
119           'go', KDB tries to continue. No guarantees that the
120           kernel is still usable in this situation.
121           CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue.
122           No guarantees that the kernel is still usable in this situation.
123           CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. KDB forces a reboot.
124           If you are not sure, say 0.
125
126 endif # KGDB