
config HAVE_ARCH_KGDB
	bool

menuconfig KGDB
	bool "KGDB: kernel debugging with remote gdb"
	depends on HAVE_ARCH_KGDB
	depends on DEBUG_KERNEL && EXPERIMENTAL
	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
	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.

endif # KGDB
