aboutsummaryrefslogtreecommitdiffstats
path: root/docs/api_overview.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/api_overview.md')
0 files changed, 0 insertions, 0 deletions
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
menu "Kernel hacking"

source "lib/Kconfig.debug"

# X86
config EARLY_PRINTK
	bool "Early printk" if EMBEDDED && DEBUG_KERNEL
	default y
	depends on X86
	help
	  Write kernel log output directly into the VGA buffer or to a serial
	  port.

	  This is useful for kernel debugging when your machine crashes very
	  early before the console code is initialized. For normal operation
	  it is not recommended because it looks ugly and doesn't cooperate
	  with klogd/syslogd or the X server. You should normally N here,
	  unless you want to debug such a crash.

config DEBUG_STACKOVERFLOW
	bool "Check for stack overflows"
	depends on DEBUG_KERNEL && X86

config KPROBES
	bool "Kprobes"
	depends on DEBUG_KERNEL && X86
	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 && X86
	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.

comment "Page alloc debug is incompatible with Software Suspend on i386"
	depends on DEBUG_KERNEL && SOFTWARE_SUSPEND && X86

config DEBUG_PAGEALLOC
	bool "Page alloc debugging"
	depends on DEBUG_KERNEL && !SOFTWARE_SUSPEND && X86
	help
	  Unmap pages from the kernel linear mapping after free_pages().
	  This results in a large slowdown, but helps to find certain types
	  of memory corruptions.

config 4KSTACKS
	bool "Use 4Kb for kernel stacks instead of 8Kb"
	depends on DEBUG_KERNEL && X86
	help
	  If you say Y here the kernel will use a 4Kb stacksize for the
	  kernel stack attached to each process/thread. This facilitates
	  running more threads on a system and also reduces the pressure
	  on the VM subsystem for higher order allocations. This option
	  will also use IRQ stacks to compensate for the reduced stackspace.

config X86_FIND_SMP_CONFIG
	bool
	depends on X86_LOCAL_APIC || X86_VOYAGER && X86
	default y

config X86_MPPARSE
	bool
	depends on X86_LOCAL_APIC && !X86_VISWS && X86
	default y

# X86_64

# !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 && X86_64
	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 && X86_64
	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 && X86_64
       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 IOMMU_LEAK
       bool "IOMMU leak tracing"
       depends on DEBUG_KERNEL && X86_64
       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"

# X86 & X86_64
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".

endmenu