blob: 533f912638ede9b8365c636327981afa2b589055
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 DocBook form in Documentation/DocBook/. 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 |
127 |