11da177e4SLinus Torvaldsmenu "Kernel hacking" 21da177e4SLinus Torvalds 31da177e4SLinus Torvaldssource "lib/Kconfig.debug" 41da177e4SLinus Torvalds 5087aaffcSNicolas Pitreconfig STRICT_DEVMEM 6087aaffcSNicolas Pitre bool "Filter access to /dev/mem" 7087aaffcSNicolas Pitre depends on MMU 8087aaffcSNicolas Pitre ---help--- 9087aaffcSNicolas Pitre If this option is disabled, you allow userspace (root) access to all 10087aaffcSNicolas Pitre of memory, including kernel and userspace memory. Accidental 11087aaffcSNicolas Pitre access to this is obviously disastrous, but specific access can 12087aaffcSNicolas Pitre be used by people debugging the kernel. 13087aaffcSNicolas Pitre 14087aaffcSNicolas Pitre If this option is switched on, the /dev/mem file only allows 15087aaffcSNicolas Pitre userspace access to memory mapped peripherals. 16087aaffcSNicolas Pitre 17087aaffcSNicolas Pitre If in doubt, say Y. 18087aaffcSNicolas Pitre 19adf8b37bSCatalin Marinas# RMK wants arm kernels compiled with frame pointers or stack unwinding. 201da177e4SLinus Torvalds# If you know what you are doing and are willing to live without stack 211da177e4SLinus Torvalds# traces, you can get a slightly smaller kernel by setting this option to 221da177e4SLinus Torvalds# n, but then RMK will have to kill you ;). 231da177e4SLinus Torvaldsconfig FRAME_POINTER 241da177e4SLinus Torvalds bool 2516c79651SCatalin Marinas depends on !THUMB2_KERNEL 260e341af8SRabin Vincent default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER 271da177e4SLinus Torvalds help 281da177e4SLinus Torvalds If you say N here, the resulting kernel will be slightly smaller and 29adf8b37bSCatalin Marinas faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, 30adf8b37bSCatalin Marinas when a problem occurs with the kernel, the information that is 31adf8b37bSCatalin Marinas reported is severely limited. 32adf8b37bSCatalin Marinas 33adf8b37bSCatalin Marinasconfig ARM_UNWIND 344a50bfe3SRussell King bool "Enable stack unwinding support (EXPERIMENTAL)" 35adf8b37bSCatalin Marinas depends on AEABI && EXPERIMENTAL 36adf8b37bSCatalin Marinas default y 37adf8b37bSCatalin Marinas help 38adf8b37bSCatalin Marinas This option enables stack unwinding support in the kernel 39adf8b37bSCatalin Marinas using the information automatically generated by the 40adf8b37bSCatalin Marinas compiler. The resulting kernel image is slightly bigger but 41adf8b37bSCatalin Marinas the performance is not affected. Currently, this feature 42adf8b37bSCatalin Marinas only works with EABI compilers. If unsure say Y. 431da177e4SLinus Torvalds 4409bfafacSRabin Vincentconfig OLD_MCOUNT 4509bfafacSRabin Vincent bool 4609bfafacSRabin Vincent depends on FUNCTION_TRACER && FRAME_POINTER 4709bfafacSRabin Vincent default y 4809bfafacSRabin Vincent 491da177e4SLinus Torvaldsconfig DEBUG_USER 501da177e4SLinus Torvalds bool "Verbose user fault messages" 511da177e4SLinus Torvalds help 521da177e4SLinus Torvalds When a user program crashes due to an exception, the kernel can 531da177e4SLinus Torvalds print a brief message explaining what the problem was. This is 541da177e4SLinus Torvalds sometimes helpful for debugging but serves no purpose on a 551da177e4SLinus Torvalds production system. Most people should say N here. 561da177e4SLinus Torvalds 571da177e4SLinus Torvalds In addition, you need to pass user_debug=N on the kernel command 581da177e4SLinus Torvalds line to enable this feature. N consists of the sum of: 591da177e4SLinus Torvalds 601da177e4SLinus Torvalds 1 - undefined instruction events 611da177e4SLinus Torvalds 2 - system calls 621da177e4SLinus Torvalds 4 - invalid data aborts 631da177e4SLinus Torvalds 8 - SIGSEGV faults 641da177e4SLinus Torvalds 16 - SIGBUS faults 651da177e4SLinus Torvalds 661da177e4SLinus Torvalds# These options are only for real kernel hackers who want to get their hands dirty. 671da177e4SLinus Torvaldsconfig DEBUG_LL 684f5ef922SWill Deacon bool "Kernel low-level debugging functions (read help!)" 691da177e4SLinus Torvalds depends on DEBUG_KERNEL 701da177e4SLinus Torvalds help 7135efb606SRussell King Say Y here to include definitions of printascii, printch, printhex 721da177e4SLinus Torvalds in the kernel. This is helpful if you are debugging code that 731da177e4SLinus Torvalds executes before the console is initialized. 741da177e4SLinus Torvalds 754f5ef922SWill Deacon Note that selecting this option will limit the kernel to a single 764f5ef922SWill Deacon UART definition, as specified below. Attempting to boot the kernel 774f5ef922SWill Deacon image on a different platform *will not work*, so this option should 784f5ef922SWill Deacon not be enabled for kernels that are intended to be portable. 794f5ef922SWill Deacon 8017916b28SWill Deaconchoice 8117916b28SWill Deacon prompt "Kernel low-level debugging port" 8217916b28SWill Deacon depends on DEBUG_LL 8317916b28SWill Deacon 8413079a73SJean-Christophe PLAGNIOL-VILLARD config AT91_DEBUG_LL_DBGU0 8513079a73SJean-Christophe PLAGNIOL-VILLARD bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl" 8613079a73SJean-Christophe PLAGNIOL-VILLARD depends on HAVE_AT91_DBGU0 8713079a73SJean-Christophe PLAGNIOL-VILLARD 8813079a73SJean-Christophe PLAGNIOL-VILLARD config AT91_DEBUG_LL_DBGU1 899918ceafSJean-Christophe PLAGNIOL-VILLARD bool "Kernel low-level debugging on 9263 and 9g45" 9013079a73SJean-Christophe PLAGNIOL-VILLARD depends on HAVE_AT91_DBGU1 9113079a73SJean-Christophe PLAGNIOL-VILLARD 92164acf96SStephen Boyd config DEBUG_CLPS711X_UART1 93164acf96SStephen Boyd bool "Kernel low-level debugging messages via UART1" 94164acf96SStephen Boyd depends on ARCH_CLPS711X 95164acf96SStephen Boyd help 96164acf96SStephen Boyd Say Y here if you want the debug print routines to direct 97164acf96SStephen Boyd their output to the first serial port on these devices. 9817916b28SWill Deacon 9917916b28SWill Deacon config DEBUG_CLPS711X_UART2 10017916b28SWill Deacon bool "Kernel low-level debugging messages via UART2" 10117916b28SWill Deacon depends on ARCH_CLPS711X 10217916b28SWill Deacon help 10317916b28SWill Deacon Say Y here if you want the debug print routines to direct 10417916b28SWill Deacon their output to the second serial port on these devices. 10517916b28SWill Deacon 106477099f1SUwe Kleine-König config DEBUG_DAVINCI_DA8XX_UART1 107477099f1SUwe Kleine-König bool "Kernel low-level debugging on DaVinci DA8XX using UART1" 108477099f1SUwe Kleine-König depends on ARCH_DAVINCI_DA8XX 109477099f1SUwe Kleine-König help 110477099f1SUwe Kleine-König Say Y here if you want the debug print routines to direct 111477099f1SUwe Kleine-König their output to UART1 serial port on DaVinci DA8XX devices. 112477099f1SUwe Kleine-König 113477099f1SUwe Kleine-König config DEBUG_DAVINCI_DA8XX_UART2 114477099f1SUwe Kleine-König bool "Kernel low-level debugging on DaVinci DA8XX using UART2" 115477099f1SUwe Kleine-König depends on ARCH_DAVINCI_DA8XX 116477099f1SUwe Kleine-König help 117477099f1SUwe Kleine-König Say Y here if you want the debug print routines to direct 118477099f1SUwe Kleine-König their output to UART2 serial port on DaVinci DA8XX devices. 119477099f1SUwe Kleine-König 120477099f1SUwe Kleine-König config DEBUG_DAVINCI_DMx_UART0 121477099f1SUwe Kleine-König bool "Kernel low-level debugging on DaVinci DMx using UART0" 122477099f1SUwe Kleine-König depends on ARCH_DAVINCI_DMx 123477099f1SUwe Kleine-König help 124477099f1SUwe Kleine-König Say Y here if you want the debug print routines to direct 125477099f1SUwe Kleine-König their output to UART0 serial port on DaVinci DMx devices. 126477099f1SUwe Kleine-König 127477099f1SUwe Kleine-König config DEBUG_DAVINCI_TNETV107X_UART1 128477099f1SUwe Kleine-König bool "Kernel low-level debugging on DaVinci TNETV107x using UART1" 129477099f1SUwe Kleine-König depends on ARCH_DAVINCI_TNETV107X 130477099f1SUwe Kleine-König help 131477099f1SUwe Kleine-König Say Y here if you want the debug print routines to direct 132477099f1SUwe Kleine-König their output to UART1 serial port on DaVinci TNETV107X 133477099f1SUwe Kleine-König devices. 134477099f1SUwe Kleine-König 135e76f4750SRussell King config DEBUG_DC21285_PORT 136e76f4750SRussell King bool "Kernel low-level debugging messages via footbridge serial port" 137e76f4750SRussell King depends on FOOTBRIDGE 138e76f4750SRussell King help 139e76f4750SRussell King Say Y here if you want the debug print routines to direct 140e76f4750SRussell King their output to the serial port in the DC21285 (Footbridge). 141e76f4750SRussell King 142e76f4750SRussell King config DEBUG_FOOTBRIDGE_COM1 143e76f4750SRussell King bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 144e76f4750SRussell King depends on FOOTBRIDGE 145e76f4750SRussell King help 146e76f4750SRussell King Say Y here if you want the debug print routines to direct 147e76f4750SRussell King their output to the 8250 at PCI COM1. 148e76f4750SRussell King 149220e6cf7SRob Herring config DEBUG_HIGHBANK_UART 150220e6cf7SRob Herring bool "Kernel low-level debugging messages via Highbank UART" 151220e6cf7SRob Herring depends on ARCH_HIGHBANK 152220e6cf7SRob Herring help 153220e6cf7SRob Herring Say Y here if you want the debug print routines to direct 154220e6cf7SRob Herring their output to the UART on Highbank based devices. 155220e6cf7SRob Herring 156f350b861SShawn Guo config DEBUG_IMX1_UART 157f350b861SShawn Guo bool "i.MX1 Debug UART" 158f350b861SShawn Guo depends on SOC_IMX1 159f350b861SShawn Guo help 160f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 161f350b861SShawn Guo on i.MX1. 162f350b861SShawn Guo 163f350b861SShawn Guo config DEBUG_IMX23_UART 164f350b861SShawn Guo bool "i.MX23 Debug UART" 165f350b861SShawn Guo depends on SOC_IMX23 166f350b861SShawn Guo help 167f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 168f350b861SShawn Guo on i.MX23. 169f350b861SShawn Guo 170f350b861SShawn Guo config DEBUG_IMX25_UART 171f350b861SShawn Guo bool "i.MX25 Debug UART" 172f350b861SShawn Guo depends on SOC_IMX25 173f350b861SShawn Guo help 174f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 175f350b861SShawn Guo on i.MX25. 176f350b861SShawn Guo 177f350b861SShawn Guo config DEBUG_IMX21_IMX27_UART 178f350b861SShawn Guo bool "i.MX21 and i.MX27 Debug UART" 179f350b861SShawn Guo depends on SOC_IMX21 || SOC_IMX27 180f350b861SShawn Guo help 181f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 182f350b861SShawn Guo on i.MX21 or i.MX27. 183f350b861SShawn Guo 184f350b861SShawn Guo config DEBUG_IMX28_UART 185f350b861SShawn Guo bool "i.MX28 Debug UART" 186f350b861SShawn Guo depends on SOC_IMX28 187f350b861SShawn Guo help 188f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 189f350b861SShawn Guo on i.MX28. 190f350b861SShawn Guo 191f350b861SShawn Guo config DEBUG_IMX31_IMX35_UART 192f350b861SShawn Guo bool "i.MX31 and i.MX35 Debug UART" 193f350b861SShawn Guo depends on SOC_IMX31 || SOC_IMX35 194f350b861SShawn Guo help 195f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 196f350b861SShawn Guo on i.MX31 or i.MX35. 197f350b861SShawn Guo 198f350b861SShawn Guo config DEBUG_IMX51_UART 199f350b861SShawn Guo bool "i.MX51 Debug UART" 200f350b861SShawn Guo depends on SOC_IMX51 201f350b861SShawn Guo help 202f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 203f350b861SShawn Guo on i.MX51. 204f350b861SShawn Guo 205f350b861SShawn Guo config DEBUG_IMX50_IMX53_UART 206f350b861SShawn Guo bool "i.MX50 and i.MX53 Debug UART" 207f350b861SShawn Guo depends on SOC_IMX50 || SOC_IMX53 208f350b861SShawn Guo help 209f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 210f350b861SShawn Guo on i.MX50 or i.MX53. 211f350b861SShawn Guo 212785d7fabSDirk Behme config DEBUG_IMX6Q_UART2 213785d7fabSDirk Behme bool "i.MX6Q Debug UART2" 214785d7fabSDirk Behme depends on SOC_IMX6Q 215785d7fabSDirk Behme help 216785d7fabSDirk Behme Say Y here if you want kernel low-level debugging support 217785d7fabSDirk Behme on i.MX6Q UART2. This is correct for e.g. the SabreLite 218785d7fabSDirk Behme board. 219785d7fabSDirk Behme 220cdaf29cfSDirk Behme config DEBUG_IMX6Q_UART4 221cdaf29cfSDirk Behme bool "i.MX6Q Debug UART4" 222bac89d75SShawn Guo depends on SOC_IMX6Q 223bac89d75SShawn Guo help 224bac89d75SShawn Guo Say Y here if you want kernel low-level debugging support 225cdaf29cfSDirk Behme on i.MX6Q UART4. 226bac89d75SShawn Guo 227650e3f0dSStephen Boyd config DEBUG_MSM_UART1 228650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART1" 229650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 230650e3f0dSStephen Boyd help 231650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 232650e3f0dSStephen Boyd their output to the first serial port on MSM devices. 233650e3f0dSStephen Boyd 234650e3f0dSStephen Boyd config DEBUG_MSM_UART2 235650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART2" 236650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 237650e3f0dSStephen Boyd help 238650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 239650e3f0dSStephen Boyd their output to the second serial port on MSM devices. 240650e3f0dSStephen Boyd 241650e3f0dSStephen Boyd config DEBUG_MSM_UART3 242650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART3" 243650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 244650e3f0dSStephen Boyd help 245650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 246650e3f0dSStephen Boyd their output to the third serial port on MSM devices. 247650e3f0dSStephen Boyd 248a3d3ef9dSStephen Boyd config DEBUG_MSM8660_UART 249a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8660 UART" 250a3d3ef9dSStephen Boyd depends on ARCH_MSM8X60 251a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 252a3d3ef9dSStephen Boyd help 253a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 254a3d3ef9dSStephen Boyd their output to the serial port on MSM 8660 devices. 255a3d3ef9dSStephen Boyd 256a3d3ef9dSStephen Boyd config DEBUG_MSM8960_UART 257a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8960 UART" 258a3d3ef9dSStephen Boyd depends on ARCH_MSM8960 259a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 260a3d3ef9dSStephen Boyd help 261a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 262a3d3ef9dSStephen Boyd their output to the serial port on MSM 8960 devices. 263a3d3ef9dSStephen Boyd 264bfd5af99SRob Herring config DEBUG_MVEBU_UART 265bfd5af99SRob Herring bool "Kernel low-level debugging messages via MVEBU UART" 266bfd5af99SRob Herring depends on ARCH_MVEBU 267bfd5af99SRob Herring help 268bfd5af99SRob Herring Say Y here if you want kernel low-level debugging support 269bfd5af99SRob Herring on MVEBU based platforms. 270bfd5af99SRob Herring 271*59bba2a9SRob Herring config DEBUG_PICOXCELL_UART 272*59bba2a9SRob Herring depends on ARCH_PICOXCELL 273*59bba2a9SRob Herring bool "Use PicoXcell UART for low-level debug" 274*59bba2a9SRob Herring help 275*59bba2a9SRob Herring Say Y here if you want kernel low-level debugging support 276*59bba2a9SRob Herring on PicoXcell based platforms. 277*59bba2a9SRob Herring 278e76f4750SRussell King config DEBUG_REALVIEW_STD_PORT 279e76f4750SRussell King bool "RealView Default UART" 280e76f4750SRussell King depends on ARCH_REALVIEW 281e76f4750SRussell King help 282e76f4750SRussell King Say Y here if you want the debug print routines to direct 283e76f4750SRussell King their output to the serial port on RealView EB, PB11MP, PBA8 284e76f4750SRussell King and PBX platforms. 285e76f4750SRussell King 286e76f4750SRussell King config DEBUG_REALVIEW_PB1176_PORT 287e76f4750SRussell King bool "RealView PB1176 UART" 288e76f4750SRussell King depends on MACH_REALVIEW_PB1176 289e76f4750SRussell King help 290e76f4750SRussell King Say Y here if you want the debug print routines to direct 291e76f4750SRussell King their output to the standard serial port on the RealView 292e76f4750SRussell King PB1176 platform. 293e76f4750SRussell King 294e76f4750SRussell King config DEBUG_S3C_UART0 295e76f4750SRussell King depends on PLAT_SAMSUNG 296e76f4750SRussell King bool "Use S3C UART 0 for low-level debug" 297e76f4750SRussell King help 298e76f4750SRussell King Say Y here if you want the debug print routines to direct 299e76f4750SRussell King their output to UART 0. The port must have been initialised 300e76f4750SRussell King by the boot-loader before use. 301e76f4750SRussell King 302e76f4750SRussell King The uncompressor code port configuration is now handled 303e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 304e76f4750SRussell King 305e76f4750SRussell King config DEBUG_S3C_UART1 306e76f4750SRussell King depends on PLAT_SAMSUNG 307e76f4750SRussell King bool "Use S3C UART 1 for low-level debug" 308e76f4750SRussell King help 309e76f4750SRussell King Say Y here if you want the debug print routines to direct 310e76f4750SRussell King their output to UART 1. The port must have been initialised 311e76f4750SRussell King by the boot-loader before use. 312e76f4750SRussell King 313e76f4750SRussell King The uncompressor code port configuration is now handled 314e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 315e76f4750SRussell King 316e76f4750SRussell King config DEBUG_S3C_UART2 317e76f4750SRussell King depends on PLAT_SAMSUNG 318e76f4750SRussell King bool "Use S3C UART 2 for low-level debug" 319e76f4750SRussell King help 320e76f4750SRussell King Say Y here if you want the debug print routines to direct 321e76f4750SRussell King their output to UART 2. The port must have been initialised 322e76f4750SRussell King by the boot-loader before use. 323e76f4750SRussell King 324e76f4750SRussell King The uncompressor code port configuration is now handled 325e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 326e76f4750SRussell King 3276111bf7cSRob Herring config DEBUG_SOCFPGA_UART 3286111bf7cSRob Herring depends on ARCH_SOCFPGA 3296111bf7cSRob Herring bool "Use SOCFPGA UART for low-level debug" 3306111bf7cSRob Herring help 3316111bf7cSRob Herring Say Y here if you want kernel low-level debugging support 3326111bf7cSRob Herring on SOCFPGA based platforms. 3336111bf7cSRob Herring 3341b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_DETECT 3351b820eafSPawel Moll bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 3361b820eafSPawel Moll depends on ARCH_VEXPRESS && CPU_CP15_MMU 3371b820eafSPawel Moll help 3381b820eafSPawel Moll This option enables a simple heuristic which tries to determine 3391b820eafSPawel Moll the motherboard's memory map variant (original or RS1) and then 3401b820eafSPawel Moll choose the relevant UART0 base address. 3411b820eafSPawel Moll 3421b820eafSPawel Moll Note that this will only work with standard A-class core tiles, 3431b820eafSPawel Moll and may fail with non-standard SMM or custom software models. 3441b820eafSPawel Moll 3451b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_CA9 3461b820eafSPawel Moll bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 3471b820eafSPawel Moll depends on ARCH_VEXPRESS 3481b820eafSPawel Moll help 3491b820eafSPawel Moll This option selects UART0 at 0x10009000. Except for custom models, 3501b820eafSPawel Moll this applies only to the V2P-CA9 tile. 3511b820eafSPawel Moll 3521b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_RS1 3531b820eafSPawel Moll bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 3541b820eafSPawel Moll depends on ARCH_VEXPRESS 3551b820eafSPawel Moll help 3561b820eafSPawel Moll This option selects UART0 at 0x1c090000. This applies to most 3571b820eafSPawel Moll of the tiles using the RS1 memory map, including all new A-class 3581b820eafSPawel Moll core tiles, FPGA-based SMMs and software models. 3591b820eafSPawel Moll 360e76f4750SRussell King config DEBUG_LL_UART_NONE 361e76f4750SRussell King bool "No low-level debugging UART" 362e76f4750SRussell King help 363e76f4750SRussell King Say Y here if your platform doesn't provide a UART option 364e76f4750SRussell King below. This relies on your platform choosing the right UART 365e76f4750SRussell King definition internally in order for low-level debugging to 366e76f4750SRussell King work. 367e76f4750SRussell King 368e76f4750SRussell King config DEBUG_ICEDCC 369e76f4750SRussell King bool "Kernel low-level debugging via EmbeddedICE DCC channel" 370e76f4750SRussell King help 371e76f4750SRussell King Say Y here if you want the debug print routines to direct 372e76f4750SRussell King their output to the EmbeddedICE macrocell's DCC channel using 373e76f4750SRussell King co-processor 14. This is known to work on the ARM9 style ICE 374e76f4750SRussell King channel and on the XScale with the PEEDI. 375e76f4750SRussell King 376e76f4750SRussell King Note that the system will appear to hang during boot if there 377e76f4750SRussell King is nothing connected to read from the DCC. 378e76f4750SRussell King 379b0df8986SRussell King config DEBUG_SEMIHOSTING 380b0df8986SRussell King bool "Kernel low-level debug output via semihosting I" 381b0df8986SRussell King help 382b0df8986SRussell King Semihosting enables code running on an ARM target to use 383b0df8986SRussell King the I/O facilities on a host debugger/emulator through a 384b0df8986SRussell King simple SVC calls. The host debugger or emulator must have 385b0df8986SRussell King semihosting enabled for the special svc call to be trapped 386b0df8986SRussell King otherwise the kernel will crash. 387b0df8986SRussell King 388b0df8986SRussell King This is known to work with OpenOCD, as wellas 389b0df8986SRussell King ARM's Fast Models, or any other controlling environment 390b0df8986SRussell King that implements semihosting. 391b0df8986SRussell King 392b0df8986SRussell King For more details about semihosting, please see 393b0df8986SRussell King chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 394b0df8986SRussell King 39517916b28SWill Deaconendchoice 39617916b28SWill Deacon 39791a9fec0SRob Herringconfig DEBUG_LL_INCLUDE 39891a9fec0SRob Herring string 39991a9fec0SRob Herring default "debug/icedcc.S" if DEBUG_ICEDCC 4002e9bb084SRob Herring default "debug/highbank.S" if DEBUG_HIGHBANK_UART 401bfd5af99SRob Herring default "debug/mvebu.S" if DEBUG_MVEBU_UART 402*59bba2a9SRob Herring default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART 4036111bf7cSRob Herring default "debug/socfpga.S" if DEBUG_SOCFPGA_UART 404fa04e4dbSRob Herring default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ 405fa04e4dbSRob Herring DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 40691a9fec0SRob Herring default "mach/debug-macro.S" 40791a9fec0SRob Herring 40893fd03a8SCatalin Marinasconfig EARLY_PRINTK 40993fd03a8SCatalin Marinas bool "Early printk" 41093fd03a8SCatalin Marinas depends on DEBUG_LL 41193fd03a8SCatalin Marinas help 41293fd03a8SCatalin Marinas Say Y here if you want to have an early console using the 41393fd03a8SCatalin Marinas kernel low-level debugging functions. Add earlyprintk to your 41493fd03a8SCatalin Marinas kernel parameters to enable this console. 41593fd03a8SCatalin Marinas 416c5d6c770SAlexander Shishkinconfig OC_ETM 417c5d6c770SAlexander Shishkin bool "On-chip ETM and ETB" 41853eebb0dSArnd Bergmann depends on ARM_AMBA 419c5d6c770SAlexander Shishkin help 420c5d6c770SAlexander Shishkin Enables the on-chip embedded trace macrocell and embedded trace 421c5d6c770SAlexander Shishkin buffer driver that will allow you to collect traces of the 422c5d6c770SAlexander Shishkin kernel code. 423c5d6c770SAlexander Shishkin 4244189bc71SJon Medhurstconfig ARM_KPROBES_TEST 4254189bc71SJon Medhurst tristate "Kprobes test module" 4264189bc71SJon Medhurst depends on KPROBES && MODULES 4274189bc71SJon Medhurst help 4284189bc71SJon Medhurst Perform tests of kprobes API and instruction set simulation. 4294189bc71SJon Medhurst 430575320d6SWill Deaconconfig PID_IN_CONTEXTIDR 431575320d6SWill Deacon bool "Write the current PID to the CONTEXTIDR register" 432575320d6SWill Deacon depends on CPU_COPY_V6 433575320d6SWill Deacon help 434575320d6SWill Deacon Enabling this option causes the kernel to write the current PID to 435575320d6SWill Deacon the PROCID field of the CONTEXTIDR register, at the expense of some 436575320d6SWill Deacon additional instructions during context switch. Say Y here only if you 437575320d6SWill Deacon are planning to use hardware trace tools with this kernel. 438575320d6SWill Deacon 4391da177e4SLinus Torvaldsendmenu 440