| # SPDX-License-Identifier: GPL-2.0-only | |
| config HAVE_ARCH_KGDB | |
| bool | |
| menuconfig KGDB | |
| bool "KGDB: kernel debugger" | |
| depends on HAVE_ARCH_KGDB | |
| depends on DEBUG_KERNEL | |
| help | |
| If you say Y here, it will be possible to remotely debug the | |
| kernel using gdb. It is recommended but not required, that | |
| you also turn on the kernel config option | |
| CONFIG_FRAME_POINTER to aid in producing more reliable stack | |
| backtraces in the external debugger. Documentation of | |
| kernel debugger is available at http://kgdb.sourceforge.net | |
| as well as in Documentation/dev-tools/kgdb.rst. If | |
| unsure, say N. | |
| if KGDB | |
| config KGDB_SERIAL_CONSOLE | |
| tristate "KGDB: use kgdb over the serial console" | |
| select CONSOLE_POLL | |
| select MAGIC_SYSRQ | |
| depends on TTY && HW_CONSOLE | |
| default y | |
| help | |
| Share a serial console with kgdb. Sysrq-g must be used | |
| to break in initially. | |
| config KGDB_TESTS | |
| bool "KGDB: internal test suite" | |
| default n | |
| help | |
| This is a kgdb I/O module specifically designed to test | |
| kgdb's internal functions. This kgdb I/O module is | |
| intended to for the development of new kgdb stubs | |
| as well as regression testing the kgdb internals. | |
| See the drivers/misc/kgdbts.c for the details about | |
| the tests. The most basic of this I/O module is to boot | |
| a kernel boot arguments "kgdbwait kgdbts=V1F100" | |
| config KGDB_TESTS_ON_BOOT | |
| bool "KGDB: Run tests on boot" | |
| depends on KGDB_TESTS | |
| default n | |
| help | |
| Run the kgdb tests on boot up automatically without the need | |
| to pass in a kernel parameter | |
| config KGDB_TESTS_BOOT_STRING | |
| string "KGDB: which internal kgdb tests to run" | |
| depends on KGDB_TESTS_ON_BOOT | |
| default "V1F100" | |
| help | |
| This is the command string to send the kgdb test suite on | |
| boot. See the drivers/misc/kgdbts.c for detailed | |
| information about other strings you could use beyond the | |
| default of V1F100. | |
| config KGDB_LOW_LEVEL_TRAP | |
| bool "KGDB: Allow debugging with traps in notifiers" | |
| depends on X86 || MIPS | |
| default n | |
| help | |
| This will add an extra call back to kgdb for the breakpoint | |
| exception handler which will allow kgdb to step through a | |
| notify handler. | |
| config KGDB_KDB | |
| bool "KGDB_KDB: include kdb frontend for kgdb" | |
| default n | |
| help | |
| KDB frontend for kernel | |
| config KDB_DEFAULT_ENABLE | |
| hex "KDB: Select kdb command functions to be enabled by default" | |
| depends on KGDB_KDB | |
| default 0x1 | |
| help | |
| Specifiers which kdb commands are enabled by default. This may | |
| be set to 1 or 0 to enable all commands or disable almost all | |
| commands. | |
| Alternatively the following bitmask applies: | |
| 0x0002 - allow arbitrary reads from memory and symbol lookup | |
| 0x0004 - allow arbitrary writes to memory | |
| 0x0008 - allow current register state to be inspected | |
| 0x0010 - allow current register state to be modified | |
| 0x0020 - allow passive inspection (backtrace, process list, lsmod) | |
| 0x0040 - allow flow control management (breakpoint, single step) | |
| 0x0080 - enable signalling of processes | |
| 0x0100 - allow machine to be rebooted | |
| The config option merely sets the default at boot time. Both | |
| issuing 'echo X > /sys/module/kdb/parameters/cmd_enable' or | |
| setting with kdb.cmd_enable=X kernel command line option will | |
| override the default settings. | |
| config KDB_KEYBOARD | |
| bool "KGDB_KDB: keyboard as input device" | |
| depends on VT && KGDB_KDB | |
| default n | |
| help | |
| KDB can use a PS/2 type keyboard for an input device | |
| config KDB_CONTINUE_CATASTROPHIC | |
| int "KDB: continue after catastrophic errors" | |
| depends on KGDB_KDB | |
| default "0" | |
| help | |
| This integer controls the behaviour of kdb when the kernel gets a | |
| catastrophic error, i.e. for a panic or oops. | |
| When KDB is active and a catastrophic error occurs, nothing extra | |
| will happen until you type 'go'. | |
| CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time | |
| you type 'go', you will be warned by kdb. The secend time you type | |
| 'go', KDB tries to continue. No guarantees that the | |
| kernel is still usable in this situation. | |
| CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue. | |
| No guarantees that the kernel is still usable in this situation. | |
| CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. KDB forces a reboot. | |
| If you are not sure, say 0. | |
| endif # KGDB |