1 # SPDX-License-Identifier: GPL-2.0 !! 1 menu "Kernel hacking" 2 2 3 config EARLY_PRINTK_USB !! 3 source "lib/Kconfig.debug" 4 bool << 5 4 6 config X86_VERBOSE_BOOTUP !! 5 config BOOTPARAM 7 bool "Enable verbose x86 bootup info m !! 6 bool 'Compiled-in Kernel Boot Parameter' 8 default y << 9 help << 10 Enables the informational output fro << 11 (e.g. bzImage) of the boot. If you d << 12 see errors. Disable this if you want << 13 << 14 config EARLY_PRINTK << 15 bool "Early printk" if EXPERT << 16 default y << 17 help << 18 Write kernel log output directly int << 19 port. << 20 << 21 This is useful for kernel debugging << 22 early before the console code is ini << 23 it is not recommended because it loo << 24 with klogd/syslogd or the X server. << 25 unless you want to debug such a cras << 26 << 27 config EARLY_PRINTK_DBGP << 28 bool "Early printk via EHCI debug port << 29 depends on EARLY_PRINTK && PCI << 30 select EARLY_PRINTK_USB << 31 help << 32 Write kernel log output directly int << 33 << 34 This is useful for kernel debugging << 35 early before the console code is ini << 36 it is not recommended because it loo << 37 with klogd/syslogd or the X server. << 38 unless you want to debug such a cras << 39 << 40 config EARLY_PRINTK_USB_XDBC << 41 bool "Early printk via the xHCI debug << 42 depends on EARLY_PRINTK && PCI << 43 select EARLY_PRINTK_USB << 44 help << 45 Write kernel log output directly int << 46 << 47 One use for this feature is kernel d << 48 machine crashes very early before th << 49 initialized. Other uses include simp << 50 a full-blown printk console driver + << 51 << 52 For normal production environments t << 53 because it doesn't feed events into << 54 print anything on the screen. << 55 << 56 You should normally say N here, unle << 57 crashes or need a very simple printk << 58 << 59 config EFI_PGT_DUMP << 60 bool "Dump the EFI pagetable" << 61 depends on EFI << 62 select PTDUMP_CORE << 63 help << 64 Enable this if you want to dump the << 65 enabling virtual mode. This can be u << 66 issues with the mapping of the EFI r << 67 table. << 68 << 69 config DEBUG_TLBFLUSH << 70 bool "Set upper limit of TLB entries t << 71 depends on DEBUG_KERNEL << 72 help << 73 X86-only for now. << 74 << 75 This option allows the user to tune << 76 kernel flushes one-by-one instead of << 77 certain situations, the former is ch << 78 tlb_flushall_shift knob under /sys/k << 79 to -1, the code flushes the whole TL << 80 for positive values of it, the kerne << 81 invalidating instructions according << 82 << 83 flush_entries <= active_tlb_entries << 84 << 85 If in doubt, say "N". << 86 << 87 config IOMMU_DEBUG << 88 bool "Enable IOMMU debugging" << 89 depends on GART_IOMMU && DEBUG_KERNEL << 90 depends on X86_64 << 91 help << 92 Force the IOMMU to on even when you << 93 memory and add debugging code. On ov << 94 allow to enable IOMMU leak tracing. << 95 time with iommu=noforce. This will a << 96 list merging. Currently not recomme << 97 code. When you use it make sure you << 98 IOMMU/AGP aperture. Most of the opt << 99 be set more finegrained using the io << 100 options. See Documentation/arch/x86/ << 101 details. << 102 << 103 config IOMMU_LEAK << 104 bool "IOMMU leak tracing" << 105 depends on IOMMU_DEBUG && DMA_API_DEBU << 106 help << 107 Add a simple leak tracer to the IOMM << 108 are debugging a buggy device driver << 109 << 110 config HAVE_MMIOTRACE_SUPPORT << 111 def_bool y << 112 7 113 config X86_DECODER_SELFTEST !! 8 config BOOTPARAM_STRING 114 bool "x86 instruction decoder selftest !! 9 string 'Kernel Boot Parameter' 115 depends on DEBUG_KERNEL && INSTRUCTION !! 10 default 'console=ttyS0,19200' 116 depends on !COMPILE_TEST !! 11 depends on BOOTPARAM 117 help << 118 Perform x86 instruction decoder self << 119 This option is useful for checking t << 120 decoder code. << 121 If unsure, say "N". << 122 << 123 choice << 124 prompt "IO delay type" << 125 default IO_DELAY_0X80 << 126 << 127 config IO_DELAY_0X80 << 128 bool "port 0x80 based port-IO delay [r << 129 help << 130 This is the traditional Linux IO del << 131 It is the most tested hence safest s << 132 12 133 config IO_DELAY_0XED !! 13 config EARLY_PRINTK 134 bool "port 0xed based port-IO delay" !! 14 bool "Early printk" >> 15 depends on !(SUN3 || M68360 || M68000 || COLDFIRE) 135 help 16 help 136 Use port 0xed as the IO delay. This !! 17 Write kernel log output directly to a serial port. 137 often used as a hardware-debug port. !! 18 Where implemented, output goes to the framebuffer as well. >> 19 PROM console functionality on Sun 3x is not affected by this option. 138 20 139 config IO_DELAY_UDELAY !! 21 Pass "earlyprintk" on the kernel command line to get a 140 bool "udelay based port-IO delay" !! 22 boot console. 141 help << 142 Use udelay(2) as the IO delay method << 143 while not having any side-effect on << 144 23 145 config IO_DELAY_NONE !! 24 This is useful for kernel debugging when your machine crashes very 146 bool "no port-IO delay" !! 25 early, i.e. before the normal console driver is loaded. 147 help !! 26 You should normally say N here, unless you want to debug such a crash. 148 No port-IO delay. Will break on old << 149 delay for certain operations. Should << 150 27 151 endchoice !! 28 if !MMU 152 29 153 config DEBUG_BOOT_PARAMS !! 30 config FULLDEBUG 154 bool "Debug boot parameters" !! 31 bool "Full Symbolic/Source Debugging support" 155 depends on DEBUG_KERNEL << 156 depends on DEBUG_FS << 157 help 32 help 158 This option will cause struct boot_p !! 33 Enable debugging symbols on kernel build. 159 34 160 config CPA_DEBUG !! 35 config HIGHPROFILE 161 bool "CPA self-test code" !! 36 bool "Use fast second timer for profiling" 162 depends on DEBUG_KERNEL !! 37 depends on COLDFIRE 163 help 38 help 164 Do change_page_attr() self-tests eve !! 39 Use a fast secondary clock to produce profiling information. 165 40 166 config DEBUG_ENTRY !! 41 config NO_KERNEL_MSG 167 bool "Debug low-level entry code" !! 42 bool "Suppress Kernel BUG Messages" 168 depends on DEBUG_KERNEL << 169 help 43 help 170 This option enables sanity checks in !! 44 Do not output any debug BUG messages within the kernel. 171 Some of these sanity checks may slow << 172 exits or otherwise impact performanc << 173 << 174 If unsure, say N. << 175 << 176 config DEBUG_NMI_SELFTEST << 177 bool "NMI Selftest" << 178 depends on DEBUG_KERNEL && X86_LOCAL_A << 179 help << 180 Enabling this option turns on a quic << 181 that the NMI behaves correctly. << 182 << 183 This might help diagnose strange han << 184 function properly. << 185 45 186 If unsure, say N. !! 46 config BDM_DISABLE 187 !! 47 bool "Disable BDM signals" 188 config DEBUG_IMR_SELFTEST !! 48 depends on COLDFIRE 189 bool "Isolated Memory Region self test << 190 depends on INTEL_IMR << 191 help << 192 This option enables automated sanity << 193 Some simple tests are run to verify << 194 and overlapping. This option is real << 195 debugging an IMR memory map or are m << 196 test your changes. << 197 << 198 If unsure say N here. << 199 << 200 config X86_DEBUG_FPU << 201 bool "Debug the x86 FPU code" << 202 depends on DEBUG_KERNEL << 203 default y << 204 help << 205 If this option is enabled then there << 206 checks and (boot time) debug printou << 207 This debugging adds some small amoun << 208 to the kernel. << 209 << 210 If unsure, say N. << 211 << 212 config PUNIT_ATOM_DEBUG << 213 tristate "ATOM Punit debug driver" << 214 depends on PCI << 215 select DEBUG_FS << 216 select IOSF_MBI << 217 help << 218 This is a debug driver, which gets t << 219 of all Punit North Complex devices. << 220 each device is exposed as part of th << 221 The current power state can be read << 222 /sys/kernel/debug/punit_atom/dev_pow << 223 << 224 choice << 225 prompt "Choose kernel unwinder" << 226 default UNWINDER_ORC if X86_64 << 227 default UNWINDER_FRAME_POINTER if X86_ << 228 help 49 help 229 This determines which method will be !! 50 Disable the ColdFire CPU's BDM signals. 230 traces for panics, oopses, bugs, war << 231 livepatch, lockdep, and more. << 232 << 233 config UNWINDER_ORC << 234 bool "ORC unwinder" << 235 depends on X86_64 << 236 select OBJTOOL << 237 help << 238 This option enables the ORC (Oops Re << 239 unwinding kernel stack traces. It u << 240 a simplified version of the DWARF Ca << 241 << 242 This unwinder is more accurate acros << 243 frame pointer unwinder. It also ena << 244 improvement across the entire kernel << 245 << 246 Enabling this option will increase t << 247 by roughly 2-4MB, depending on your << 248 << 249 config UNWINDER_FRAME_POINTER << 250 bool "Frame pointer unwinder" << 251 select ARCH_WANT_FRAME_POINTERS << 252 select FRAME_POINTER << 253 help << 254 This option enables the frame pointe << 255 stack traces. << 256 51 257 The unwinder itself is fast and it u !! 52 endif 258 unwinder, but the kernel text size w << 259 overall performance will degrade by << 260 << 261 config UNWINDER_GUESS << 262 bool "Guess unwinder" << 263 depends on EXPERT << 264 depends on !STACKDEPOT << 265 help << 266 This option enables the "guess" unwi << 267 traces. It scans the stack and repo << 268 finds. Some of the addresses it rep << 269 << 270 While this option often produces fal << 271 useful in many cases. Unlike the ot << 272 overhead. << 273 53 274 endchoice !! 54 endmenu
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.