menu "Kernel hacking"

source "lib/Kconfig.debug"

config DEBUG_STACKOVERFLOW
	bool "Check for stack overflows"
	depends on DEBUG_KERNEL
	help
	  This option will cause messages to be printed if free stack space
	  drops below a certain limit.

config KPROBES
	bool "Kprobes"
	depends on DEBUG_KERNEL
	help
	  Kprobes allows you to trap at almost any kernel address and
	  execute a callback function.  register_kprobe() establishes
	  a probepoint and specifies the callback.  Kprobes is useful
	  for kernel debugging, non-intrusive instrumentation and testing.
	  If in doubt, say "N".

config DEBUG_STACK_USAGE
	bool "Stack utilization instrumentation"
	depends on DEBUG_KERNEL
	help
	  Enables the display of the minimum amount of free stack which each
	  task has ever had available in the sysrq-T and sysrq-P debug output.

	  This option will slow down process creation somewhat.

config DEBUGGER
	bool "Enable debugger hooks"
	depends on DEBUG_KERNEL
	help
	  Include in-kernel hooks for kernel debuggers. Unless you are
	  intending to debug the kernel, say N here.

config XMON
	bool "Include xmon kernel debugger"
	depends on DEBUGGER && !PPC_ISERIES
	help
	  Include in-kernel hooks for the xmon kernel monitor/debugger.
	  Unless you are intending to debug the kernel, say N here.
	  Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
	  nothing will appear on the screen (xmon writes directly to the
	  framebuffer memory).
	  The cmdline option 'xmon' or 'xmon=early' will drop into xmon very
	  early during boot. 'xmon=on' will just enable the xmon debugger hooks.
	  'xmon=off' will disable the debugger hooks if CONFIG_XMON_DEFAULT is set.

config XMON_DEFAULT
	bool "Enable xmon by default"
	depends on XMON
	help
	  xmon is normally disabled unless booted with 'xmon=on'.
	  Use 'xmon=off' to disable xmon init during runtime.

config PPCDBG
	bool "Include PPCDBG realtime debugging"
	depends on DEBUG_KERNEL

config IRQSTACKS
	bool "Use separate kernel stacks when processing interrupts"
	help
	  If you say Y here the kernel will use separate kernel stacks
	  for handling hard and soft interrupts.  This can help avoid
	  overflowing the process kernel stacks.

endmenu
