menu "Kernel hacking"

source "lib/Kconfig.debug"

# !SMP for now because the context switch early causes GPF in segment reloading
# and the GS base checking does the wrong thing then, causing a hang.
config CHECKING
	bool "Additional run-time checks"
	depends on DEBUG_KERNEL && !SMP
	help
	  Enables some internal consistency checks for kernel debugging.
	  You should normally say N.

config INIT_DEBUG
	bool "Debug __init statements"
	depends on DEBUG_KERNEL
	help
	  Fill __init and __initdata at the end of boot. This helps debugging
	  illegal uses of __init and __initdata after initialization.

config IOMMU_DEBUG
       depends on GART_IOMMU && DEBUG_KERNEL
       bool "Enable IOMMU debugging"
       help
         Force the IOMMU to on even when you have less than 4GB of
	 memory and add debugging code. On overflow always panic. And
	 allow to enable IOMMU leak tracing. Can be disabled at boot
	 time with iommu=noforce. This will also enable scatter gather
	 list merging.  Currently not recommended for production
	 code. When you use it make sure you have a big enough
	 IOMMU/AGP aperture.  Most of the options enabled by this can
	 be set more finegrained using the iommu= command line
	 options. See Documentation/x86_64/boot-options.txt for more
	 details.

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 IOMMU_LEAK
       bool "IOMMU leak tracing"
       depends on DEBUG_KERNEL
       depends on IOMMU_DEBUG
       help
         Add a simple leak tracer to the IOMMU code. This is useful when you
	 are debugging a buggy device driver that leaks IOMMU mappings.

#config X86_REMOTE_DEBUG
#       bool "kgdb debugging stub"

endmenu