| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-25 18:35:29 +02:00
										 |  |  | config HAVE_ARCH_KGDB | 
					
						
							|  |  |  | 	bool | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | menuconfig KGDB | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:21 -05:00
										 |  |  | 	bool "KGDB: kernel debugger" | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 	depends on HAVE_ARCH_KGDB | 
					
						
							| 
									
										
										
										
											2013-01-16 18:54:16 -08:00
										 |  |  | 	depends on DEBUG_KERNEL | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  If you say Y here, it will be possible to remotely debug the | 
					
						
							| 
									
										
										
										
											2008-08-01 08:39:34 -05:00
										 |  |  | 	  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 DocBook form in Documentation/DocBook/.  If | 
					
						
							|  |  |  | 	  unsure, say N. | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-25 18:35:29 +02:00
										 |  |  | if KGDB | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | config KGDB_SERIAL_CONSOLE | 
					
						
							|  |  |  | 	tristate "KGDB: use kgdb over the serial console" | 
					
						
							|  |  |  | 	select CONSOLE_POLL | 
					
						
							|  |  |  | 	select MAGIC_SYSRQ | 
					
						
							| 
									
										
										
										
											2013-01-17 22:44:22 -08:00
										 |  |  | 	depends on TTY | 
					
						
							| 
									
										
										
										
											2008-04-17 20:05:37 +02:00
										 |  |  | 	default y | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Share a serial console with kgdb. Sysrq-g must be used | 
					
						
							|  |  |  | 	  to break in initially. | 
					
						
							| 
									
										
										
										
											2008-03-07 16:34:17 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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" | 
					
						
							| 
									
										
										
										
											2008-03-20 13:43:44 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2008-04-25 18:35:29 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:25 -05:00
										 |  |  | config KGDB_LOW_LEVEL_TRAP | 
					
						
							|  |  |  |        bool "KGDB: Allow debugging with traps in notifiers" | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:26 -05:00
										 |  |  |        depends on X86 || MIPS | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:25 -05:00
										 |  |  |        default n | 
					
						
							|  |  |  |        help | 
					
						
							|  |  |  |          This will add an extra call back to kgdb for the breakpoint | 
					
						
							| 
									
										
										
										
											2013-06-01 01:30:56 +09:00
										 |  |  |          exception handler which will allow kgdb to step through a | 
					
						
							|  |  |  |          notify handler. | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:25 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:21 -05:00
										 |  |  | config KGDB_KDB | 
					
						
							|  |  |  | 	bool "KGDB_KDB: include kdb frontend for kgdb" | 
					
						
							|  |  |  | 	default n | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  KDB frontend for kernel | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-06 14:36:47 +00:00
										 |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-05-20 21:04:24 -05:00
										 |  |  | 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-16 05:59:36 +01:00
										 |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-25 18:35:29 +02:00
										 |  |  | endif # KGDB |