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 endmenu 7 bool "Enable verbose x86 bootup info m << 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 << 113 config X86_DECODER_SELFTEST << 114 bool "x86 instruction decoder selftest << 115 depends on DEBUG_KERNEL && INSTRUCTION << 116 depends on !COMPILE_TEST << 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 << 133 config IO_DELAY_0XED << 134 bool "port 0xed based port-IO delay" << 135 help << 136 Use port 0xed as the IO delay. This << 137 often used as a hardware-debug port. << 138 << 139 config IO_DELAY_UDELAY << 140 bool "udelay based port-IO delay" << 141 help << 142 Use udelay(2) as the IO delay method << 143 while not having any side-effect on << 144 << 145 config IO_DELAY_NONE << 146 bool "no port-IO delay" << 147 help << 148 No port-IO delay. Will break on old << 149 delay for certain operations. Should << 150 << 151 endchoice << 152 << 153 config DEBUG_BOOT_PARAMS << 154 bool "Debug boot parameters" << 155 depends on DEBUG_KERNEL << 156 depends on DEBUG_FS << 157 help << 158 This option will cause struct boot_p << 159 << 160 config CPA_DEBUG << 161 bool "CPA self-test code" << 162 depends on DEBUG_KERNEL << 163 help << 164 Do change_page_attr() self-tests eve << 165 << 166 config DEBUG_ENTRY << 167 bool "Debug low-level entry code" << 168 depends on DEBUG_KERNEL << 169 help << 170 This option enables sanity checks in << 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 << 186 If unsure, say N. << 187 << 188 config DEBUG_IMR_SELFTEST << 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 << 229 This determines which method will be << 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 << 257 The unwinder itself is fast and it u << 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 << 274 endchoice <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.