1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config STRICT_DEVMEM 6 bool "Filter access to /dev/mem" 7 depends on MMU 8 ---help--- 9 If this option is disabled, you allow userspace (root) access to all 10 of memory, including kernel and userspace memory. Accidental 11 access to this is obviously disastrous, but specific access can 12 be used by people debugging the kernel. 13 14 If this option is switched on, the /dev/mem file only allows 15 userspace access to memory mapped peripherals. 16 17 If in doubt, say Y. 18 19# RMK wants arm kernels compiled with frame pointers or stack unwinding. 20# If you know what you are doing and are willing to live without stack 21# traces, you can get a slightly smaller kernel by setting this option to 22# n, but then RMK will have to kill you ;). 23config FRAME_POINTER 24 bool 25 depends on !THUMB2_KERNEL 26 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER 27 help 28 If you say N here, the resulting kernel will be slightly smaller and 29 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, 30 when a problem occurs with the kernel, the information that is 31 reported is severely limited. 32 33config ARM_UNWIND 34 bool "Enable stack unwinding support (EXPERIMENTAL)" 35 depends on AEABI && EXPERIMENTAL 36 default y 37 help 38 This option enables stack unwinding support in the kernel 39 using the information automatically generated by the 40 compiler. The resulting kernel image is slightly bigger but 41 the performance is not affected. Currently, this feature 42 only works with EABI compilers. If unsure say Y. 43 44config OLD_MCOUNT 45 bool 46 depends on FUNCTION_TRACER && FRAME_POINTER 47 default y 48 49config DEBUG_USER 50 bool "Verbose user fault messages" 51 help 52 When a user program crashes due to an exception, the kernel can 53 print a brief message explaining what the problem was. This is 54 sometimes helpful for debugging but serves no purpose on a 55 production system. Most people should say N here. 56 57 In addition, you need to pass user_debug=N on the kernel command 58 line to enable this feature. N consists of the sum of: 59 60 1 - undefined instruction events 61 2 - system calls 62 4 - invalid data aborts 63 8 - SIGSEGV faults 64 16 - SIGBUS faults 65 66# These options are only for real kernel hackers who want to get their hands dirty. 67config DEBUG_LL 68 bool "Kernel low-level debugging functions (read help!)" 69 depends on DEBUG_KERNEL 70 help 71 Say Y here to include definitions of printascii, printch, printhex 72 in the kernel. This is helpful if you are debugging code that 73 executes before the console is initialized. 74 75 Note that selecting this option will limit the kernel to a single 76 UART definition, as specified below. Attempting to boot the kernel 77 image on a different platform *will not work*, so this option should 78 not be enabled for kernels that are intended to be portable. 79 80choice 81 prompt "Kernel low-level debugging port" 82 depends on DEBUG_LL 83 84 config DEBUG_LL_UART_NONE 85 bool "No low-level debugging UART" 86 help 87 Say Y here if your platform doesn't provide a UART option 88 below. This relies on your platform choosing the right UART 89 definition internally in order for low-level debugging to 90 work. 91 92 config DEBUG_ICEDCC 93 bool "Kernel low-level debugging via EmbeddedICE DCC channel" 94 help 95 Say Y here if you want the debug print routines to direct 96 their output to the EmbeddedICE macrocell's DCC channel using 97 co-processor 14. This is known to work on the ARM9 style ICE 98 channel and on the XScale with the PEEDI. 99 100 Note that the system will appear to hang during boot if there 101 is nothing connected to read from the DCC. 102 103 config DEBUG_FOOTBRIDGE_COM1 104 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 105 depends on FOOTBRIDGE 106 help 107 Say Y here if you want the debug print routines to direct 108 their output to the 8250 at PCI COM1. 109 110 config DEBUG_DC21285_PORT 111 bool "Kernel low-level debugging messages via footbridge serial port" 112 depends on FOOTBRIDGE 113 help 114 Say Y here if you want the debug print routines to direct 115 their output to the serial port in the DC21285 (Footbridge). 116 117 config DEBUG_CLPS711X_UART1 118 bool "Kernel low-level debugging messages via UART1" 119 depends on ARCH_CLPS711X 120 help 121 Say Y here if you want the debug print routines to direct 122 their output to the first serial port on these devices. 123 124 config DEBUG_CLPS711X_UART2 125 bool "Kernel low-level debugging messages via UART2" 126 depends on ARCH_CLPS711X 127 help 128 Say Y here if you want the debug print routines to direct 129 their output to the second serial port on these devices. 130 131 config DEBUG_HIGHBANK_UART 132 bool "Kernel low-level debugging messages via Highbank UART" 133 depends on ARCH_HIGHBANK 134 help 135 Say Y here if you want the debug print routines to direct 136 their output to the UART on Highbank based devices. 137 138 config DEBUG_IMX1_UART 139 bool "i.MX1 Debug UART" 140 depends on SOC_IMX1 141 help 142 Say Y here if you want kernel low-level debugging support 143 on i.MX1. 144 145 config DEBUG_IMX23_UART 146 bool "i.MX23 Debug UART" 147 depends on SOC_IMX23 148 help 149 Say Y here if you want kernel low-level debugging support 150 on i.MX23. 151 152 config DEBUG_IMX25_UART 153 bool "i.MX25 Debug UART" 154 depends on SOC_IMX25 155 help 156 Say Y here if you want kernel low-level debugging support 157 on i.MX25. 158 159 config DEBUG_IMX21_IMX27_UART 160 bool "i.MX21 and i.MX27 Debug UART" 161 depends on SOC_IMX21 || SOC_IMX27 162 help 163 Say Y here if you want kernel low-level debugging support 164 on i.MX21 or i.MX27. 165 166 config DEBUG_IMX28_UART 167 bool "i.MX28 Debug UART" 168 depends on SOC_IMX28 169 help 170 Say Y here if you want kernel low-level debugging support 171 on i.MX28. 172 173 config DEBUG_IMX31_IMX35_UART 174 bool "i.MX31 and i.MX35 Debug UART" 175 depends on SOC_IMX31 || SOC_IMX35 176 help 177 Say Y here if you want kernel low-level debugging support 178 on i.MX31 or i.MX35. 179 180 config DEBUG_IMX51_UART 181 bool "i.MX51 Debug UART" 182 depends on SOC_IMX51 183 help 184 Say Y here if you want kernel low-level debugging support 185 on i.MX51. 186 187 config DEBUG_IMX50_IMX53_UART 188 bool "i.MX50 and i.MX53 Debug UART" 189 depends on SOC_IMX50 || SOC_IMX53 190 help 191 Say Y here if you want kernel low-level debugging support 192 on i.MX50 or i.MX53. 193 194 config DEBUG_IMX6Q_UART 195 bool "i.MX6Q Debug UART" 196 depends on SOC_IMX6Q 197 help 198 Say Y here if you want kernel low-level debugging support 199 on i.MX6Q. 200 201 config DEBUG_S3C_UART0 202 depends on PLAT_SAMSUNG 203 bool "Use S3C UART 0 for low-level debug" 204 help 205 Say Y here if you want the debug print routines to direct 206 their output to UART 0. The port must have been initialised 207 by the boot-loader before use. 208 209 The uncompressor code port configuration is now handled 210 by CONFIG_S3C_LOWLEVEL_UART_PORT. 211 212 config DEBUG_S3C_UART1 213 depends on PLAT_SAMSUNG 214 bool "Use S3C UART 1 for low-level debug" 215 help 216 Say Y here if you want the debug print routines to direct 217 their output to UART 1. The port must have been initialised 218 by the boot-loader before use. 219 220 The uncompressor code port configuration is now handled 221 by CONFIG_S3C_LOWLEVEL_UART_PORT. 222 223 config DEBUG_S3C_UART2 224 depends on PLAT_SAMSUNG 225 bool "Use S3C UART 2 for low-level debug" 226 help 227 Say Y here if you want the debug print routines to direct 228 their output to UART 2. The port must have been initialised 229 by the boot-loader before use. 230 231 The uncompressor code port configuration is now handled 232 by CONFIG_S3C_LOWLEVEL_UART_PORT. 233 234 config DEBUG_REALVIEW_STD_PORT 235 bool "RealView Default UART" 236 depends on ARCH_REALVIEW 237 help 238 Say Y here if you want the debug print routines to direct 239 their output to the serial port on RealView EB, PB11MP, PBA8 240 and PBX platforms. 241 242 config DEBUG_REALVIEW_PB1176_PORT 243 bool "RealView PB1176 UART" 244 depends on MACH_REALVIEW_PB1176 245 help 246 Say Y here if you want the debug print routines to direct 247 their output to the standard serial port on the RealView 248 PB1176 platform. 249 250endchoice 251 252config EARLY_PRINTK 253 bool "Early printk" 254 depends on DEBUG_LL 255 help 256 Say Y here if you want to have an early console using the 257 kernel low-level debugging functions. Add earlyprintk to your 258 kernel parameters to enable this console. 259 260config OC_ETM 261 bool "On-chip ETM and ETB" 262 depends on ARM_AMBA 263 help 264 Enables the on-chip embedded trace macrocell and embedded trace 265 buffer driver that will allow you to collect traces of the 266 kernel code. 267 268config ARM_KPROBES_TEST 269 tristate "Kprobes test module" 270 depends on KPROBES && MODULES 271 help 272 Perform tests of kprobes API and instruction set simulation. 273 274endmenu 275