menu "Kernel hacking"

source "lib/Kconfig.debug"

config CROSSCOMPILE
	bool "Are you using a crosscompiler"
	help
	  Say Y here if you are compiling the kernel on a different
	  architecture than the one it is intended to run on.

config CMDLINE
	string "Default kernel command string"
	default ""
	help
          On some platforms, there is currently no way for the boot loader to
          pass arguments to the kernel. For these platforms, you can supply
          some command-line options at build time by entering them here.  In
          other cases you can specify kernel args so that you don't have
	  to set them up in board prom initialization routines.

config DEBUG_STACK_USAGE
	bool "Enable 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 KGDB
	bool "Remote GDB kernel debugging"
	depends on DEBUG_KERNEL
	select DEBUG_INFO
	help
	  If you say Y here, it will be possible to remotely debug the MIPS
	  kernel using gdb. This enlarges your kernel image disk size by
	  several megabytes and requires a machine with more than 16 MB,
	  better 32 MB RAM to avoid excessive linking time. This is only
	  useful for kernel hackers. If unsure, say N.

config GDB_CONSOLE
	bool "Console output to GDB"
	depends on KGDB
	help
	  If you are using GDB for remote debugging over a serial port and
	  would like kernel messages to be formatted into GDB $O packets so
	  that GDB prints them as program output, say 'Y'.

config SB1XXX_CORELIS
	bool "Corelis Debugger"
	depends on SIBYTE_SB1xxx_SOC
	select DEBUG_INFO
	help
	  Select compile flags that produce code that can be processed by the
	  Corelis mksym utility and UDB Emulator.

config RUNTIME_DEBUG
	bool "Enable run-time debugging"
	depends on DEBUG_KERNEL
	help
	  If you say Y here, some debugging macros will do run-time checking.
	  If you say N here, those macros will mostly turn to no-ops.  See
	  include/asm-mips/debug.h for debuging macros.
	  If unsure, say N.

config MIPS_UNCACHED
	bool "Run uncached"
	depends on DEBUG_KERNEL && !SMP && !SGI_IP27
	help
	  If you say Y here there kernel will disable all CPU caches.  This will
	  reduce the system's performance dramatically but can help finding
	  otherwise hard to track bugs.  It can also useful if you're doing
	  hardware debugging with a logic analyzer and need to see all traffic
	  on the bus.

endmenu
