forked from mirrors/linux
		
	With VT=n, the kernel build fails with: drivers/built-in.o: In function `kgdboc_pre_exp_handler': kgdboc.c:(.text+0x7b5aa): undefined reference to `fg_console' kgdboc.c:(.text+0x7b5ce): undefined reference to `vc_cons' kgdboc.c:(.text+0x7b5d5): undefined reference to `vc_cons' kgdboc.o is built when KGDB_SERIAL_CONSOLE is set. So make KGDB_SERIAL_CONSOLE depend on HW_CONSOLE which includes those symbols. Link: http://lkml.kernel.org/r/1459412955-4696-1-git-send-email-jslaby@suse.cz Signed-off-by: Jiri Slaby <jslaby@suse.cz> Reported-by: "Jim Davis" <jim.epost@gmail.com> Acked-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			126 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
	
		
			4.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
 | 
						|
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 DocBook form in Documentation/DocBook/.  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
 |