Back to home page

LXR

 
 

    


0001 
0002 config HAVE_ARCH_KGDB
0003         bool
0004 
0005 menuconfig KGDB
0006         bool "KGDB: kernel debugger"
0007         depends on HAVE_ARCH_KGDB
0008         depends on DEBUG_KERNEL
0009         help
0010           If you say Y here, it will be possible to remotely debug the
0011           kernel using gdb.  It is recommended but not required, that
0012           you also turn on the kernel config option
0013           CONFIG_FRAME_POINTER to aid in producing more reliable stack
0014           backtraces in the external debugger.  Documentation of
0015           kernel debugger is available at http://kgdb.sourceforge.net
0016           as well as in DocBook form in Documentation/DocBook/.  If
0017           unsure, say N.
0018 
0019 if KGDB
0020 
0021 config KGDB_SERIAL_CONSOLE
0022         tristate "KGDB: use kgdb over the serial console"
0023         select CONSOLE_POLL
0024         select MAGIC_SYSRQ
0025         depends on TTY && HW_CONSOLE
0026         default y
0027         help
0028           Share a serial console with kgdb. Sysrq-g must be used
0029           to break in initially.
0030 
0031 config KGDB_TESTS
0032         bool "KGDB: internal test suite"
0033         default n
0034         help
0035           This is a kgdb I/O module specifically designed to test
0036           kgdb's internal functions.  This kgdb I/O module is
0037           intended to for the development of new kgdb stubs
0038           as well as regression testing the kgdb internals.
0039           See the drivers/misc/kgdbts.c for the details about
0040           the tests.  The most basic of this I/O module is to boot
0041           a kernel boot arguments "kgdbwait kgdbts=V1F100"
0042 
0043 config KGDB_TESTS_ON_BOOT
0044         bool "KGDB: Run tests on boot"
0045         depends on KGDB_TESTS
0046         default n
0047         help
0048           Run the kgdb tests on boot up automatically without the need
0049           to pass in a kernel parameter
0050 
0051 config KGDB_TESTS_BOOT_STRING
0052         string "KGDB: which internal kgdb tests to run"
0053         depends on KGDB_TESTS_ON_BOOT
0054         default "V1F100"
0055         help
0056           This is the command string to send the kgdb test suite on
0057           boot.  See the drivers/misc/kgdbts.c for detailed
0058           information about other strings you could use beyond the
0059           default of V1F100.
0060 
0061 config KGDB_LOW_LEVEL_TRAP
0062        bool "KGDB: Allow debugging with traps in notifiers"
0063        depends on X86 || MIPS
0064        default n
0065        help
0066          This will add an extra call back to kgdb for the breakpoint
0067          exception handler which will allow kgdb to step through a
0068          notify handler.
0069 
0070 config KGDB_KDB
0071         bool "KGDB_KDB: include kdb frontend for kgdb"
0072         default n
0073         help
0074           KDB frontend for kernel
0075 
0076 config KDB_DEFAULT_ENABLE
0077         hex "KDB: Select kdb command functions to be enabled by default"
0078         depends on KGDB_KDB
0079         default 0x1
0080         help
0081           Specifiers which kdb commands are enabled by default. This may
0082           be set to 1 or 0 to enable all commands or disable almost all
0083           commands.
0084 
0085           Alternatively the following bitmask applies:
0086 
0087             0x0002 - allow arbitrary reads from memory and symbol lookup
0088             0x0004 - allow arbitrary writes to memory
0089             0x0008 - allow current register state to be inspected
0090             0x0010 - allow current register state to be modified
0091             0x0020 - allow passive inspection (backtrace, process list, lsmod)
0092             0x0040 - allow flow control management (breakpoint, single step)
0093             0x0080 - enable signalling of processes
0094             0x0100 - allow machine to be rebooted
0095 
0096           The config option merely sets the default at boot time. Both
0097           issuing 'echo X > /sys/module/kdb/parameters/cmd_enable' or
0098           setting with kdb.cmd_enable=X kernel command line option will
0099           override the default settings.
0100 
0101 config KDB_KEYBOARD
0102         bool "KGDB_KDB: keyboard as input device"
0103         depends on VT && KGDB_KDB
0104         default n
0105         help
0106           KDB can use a PS/2 type keyboard for an input device
0107 
0108 config KDB_CONTINUE_CATASTROPHIC
0109         int "KDB: continue after catastrophic errors"
0110         depends on KGDB_KDB
0111         default "0"
0112         help
0113           This integer controls the behaviour of kdb when the kernel gets a
0114           catastrophic error, i.e. for a panic or oops.
0115           When KDB is active and a catastrophic error occurs, nothing extra
0116           will happen until you type 'go'.
0117           CONFIG_KDB_CONTINUE_CATASTROPHIC == 0 (default). The first time
0118           you type 'go', you will be warned by kdb. The secend time you type
0119           'go', KDB tries to continue. No guarantees that the
0120           kernel is still usable in this situation.
0121           CONFIG_KDB_CONTINUE_CATASTROPHIC == 1. KDB tries to continue.
0122           No guarantees that the kernel is still usable in this situation.
0123           CONFIG_KDB_CONTINUE_CATASTROPHIC == 2. KDB forces a reboot.
0124           If you are not sure, say 0.
0125 
0126 endif # KGDB