# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.

menu "Kernel hacking"

config TRACE_IRQFLAGS_SUPPORT
	def_bool y

source "lib/Kconfig.debug"

config EARLY_PRINTK
	bool "Early printk function for kernel"
	depends on SERIAL_UARTLITE_CONSOLE || SERIAL_8250_CONSOLE
	default n
	help
	  This option turns on/off early printk messages to console.
	  First Uartlite node is taken.

config HEART_BEAT
	bool "Heart beat function for kernel"
	default n
	help
	  This option turns on/off heart beat kernel functionality.
	  First GPIO node is taken.

endmenu
