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