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 135*aaf5e0beSNick Bowler config DEBUG_ZYNQ_UART0 136*aaf5e0beSNick Bowler bool "Kernel low-level debugging on Xilinx Zynq using UART0" 137*aaf5e0beSNick Bowler depends on ARCH_ZYNQ 138*aaf5e0beSNick Bowler help 139*aaf5e0beSNick Bowler Say Y here if you want the debug print routines to direct 140*aaf5e0beSNick Bowler their output to UART0 on the Zynq platform. 141*aaf5e0beSNick Bowler 142*aaf5e0beSNick Bowler config DEBUG_ZYNQ_UART1 143*aaf5e0beSNick Bowler bool "Kernel low-level debugging on Xilinx Zynq using UART1" 144*aaf5e0beSNick Bowler depends on ARCH_ZYNQ 145*aaf5e0beSNick Bowler help 146*aaf5e0beSNick Bowler Say Y here if you want the debug print routines to direct 147*aaf5e0beSNick Bowler their output to UART1 on the Zynq platform. 148*aaf5e0beSNick Bowler 149*aaf5e0beSNick Bowler If you have a ZC702 board and want early boot messages to 150*aaf5e0beSNick Bowler appear on the USB serial adaptor, select this option. 151*aaf5e0beSNick Bowler 152e76f4750SRussell King config DEBUG_DC21285_PORT 153e76f4750SRussell King bool "Kernel low-level debugging messages via footbridge serial port" 154e76f4750SRussell King depends on FOOTBRIDGE 155e76f4750SRussell King help 156e76f4750SRussell King Say Y here if you want the debug print routines to direct 157e76f4750SRussell King their output to the serial port in the DC21285 (Footbridge). 158e76f4750SRussell King 159e76f4750SRussell King config DEBUG_FOOTBRIDGE_COM1 160e76f4750SRussell King bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 161e76f4750SRussell King depends on FOOTBRIDGE 162e76f4750SRussell King help 163e76f4750SRussell King Say Y here if you want the debug print routines to direct 164e76f4750SRussell King their output to the 8250 at PCI COM1. 165e76f4750SRussell King 166220e6cf7SRob Herring config DEBUG_HIGHBANK_UART 167220e6cf7SRob Herring bool "Kernel low-level debugging messages via Highbank UART" 168220e6cf7SRob Herring depends on ARCH_HIGHBANK 169220e6cf7SRob Herring help 170220e6cf7SRob Herring Say Y here if you want the debug print routines to direct 171220e6cf7SRob Herring their output to the UART on Highbank based devices. 172220e6cf7SRob Herring 173f350b861SShawn Guo config DEBUG_IMX1_UART 174f350b861SShawn Guo bool "i.MX1 Debug UART" 175f350b861SShawn Guo depends on SOC_IMX1 176f350b861SShawn Guo help 177f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 178f350b861SShawn Guo on i.MX1. 179f350b861SShawn Guo 180f350b861SShawn Guo config DEBUG_IMX23_UART 181f350b861SShawn Guo bool "i.MX23 Debug UART" 182f350b861SShawn Guo depends on SOC_IMX23 183f350b861SShawn Guo help 184f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 185f350b861SShawn Guo on i.MX23. 186f350b861SShawn Guo 187f350b861SShawn Guo config DEBUG_IMX25_UART 188f350b861SShawn Guo bool "i.MX25 Debug UART" 189f350b861SShawn Guo depends on SOC_IMX25 190f350b861SShawn Guo help 191f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 192f350b861SShawn Guo on i.MX25. 193f350b861SShawn Guo 194f350b861SShawn Guo config DEBUG_IMX21_IMX27_UART 195f350b861SShawn Guo bool "i.MX21 and i.MX27 Debug UART" 196f350b861SShawn Guo depends on SOC_IMX21 || SOC_IMX27 197f350b861SShawn Guo help 198f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 199f350b861SShawn Guo on i.MX21 or i.MX27. 200f350b861SShawn Guo 201f350b861SShawn Guo config DEBUG_IMX28_UART 202f350b861SShawn Guo bool "i.MX28 Debug UART" 203f350b861SShawn Guo depends on SOC_IMX28 204f350b861SShawn Guo help 205f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 206f350b861SShawn Guo on i.MX28. 207f350b861SShawn Guo 208f350b861SShawn Guo config DEBUG_IMX31_IMX35_UART 209f350b861SShawn Guo bool "i.MX31 and i.MX35 Debug UART" 210f350b861SShawn Guo depends on SOC_IMX31 || SOC_IMX35 211f350b861SShawn Guo help 212f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 213f350b861SShawn Guo on i.MX31 or i.MX35. 214f350b861SShawn Guo 215f350b861SShawn Guo config DEBUG_IMX51_UART 216f350b861SShawn Guo bool "i.MX51 Debug UART" 217f350b861SShawn Guo depends on SOC_IMX51 218f350b861SShawn Guo help 219f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 220f350b861SShawn Guo on i.MX51. 221f350b861SShawn Guo 222f350b861SShawn Guo config DEBUG_IMX50_IMX53_UART 223f350b861SShawn Guo bool "i.MX50 and i.MX53 Debug UART" 224f350b861SShawn Guo depends on SOC_IMX50 || SOC_IMX53 225f350b861SShawn Guo help 226f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 227f350b861SShawn Guo on i.MX50 or i.MX53. 228f350b861SShawn Guo 229785d7fabSDirk Behme config DEBUG_IMX6Q_UART2 230785d7fabSDirk Behme bool "i.MX6Q Debug UART2" 231785d7fabSDirk Behme depends on SOC_IMX6Q 232785d7fabSDirk Behme help 233785d7fabSDirk Behme Say Y here if you want kernel low-level debugging support 234785d7fabSDirk Behme on i.MX6Q UART2. This is correct for e.g. the SabreLite 235785d7fabSDirk Behme board. 236785d7fabSDirk Behme 237cdaf29cfSDirk Behme config DEBUG_IMX6Q_UART4 238cdaf29cfSDirk Behme bool "i.MX6Q Debug UART4" 239bac89d75SShawn Guo depends on SOC_IMX6Q 240bac89d75SShawn Guo help 241bac89d75SShawn Guo Say Y here if you want kernel low-level debugging support 242cdaf29cfSDirk Behme on i.MX6Q UART4. 243bac89d75SShawn Guo 244fa4cd2a8SHaojian Zhuang config DEBUG_MMP_UART2 245fa4cd2a8SHaojian Zhuang bool "Kernel low-level debugging message via MMP UART2" 246fa4cd2a8SHaojian Zhuang depends on ARCH_MMP 247fa4cd2a8SHaojian Zhuang help 248fa4cd2a8SHaojian Zhuang Say Y here if you want kernel low-level debugging support 249fa4cd2a8SHaojian Zhuang on MMP UART2. 250fa4cd2a8SHaojian Zhuang 251fa4cd2a8SHaojian Zhuang config DEBUG_MMP_UART3 252fa4cd2a8SHaojian Zhuang bool "Kernel low-level debugging message via MMP UART3" 253fa4cd2a8SHaojian Zhuang depends on ARCH_MMP 254fa4cd2a8SHaojian Zhuang help 255fa4cd2a8SHaojian Zhuang Say Y here if you want kernel low-level debugging support 256fa4cd2a8SHaojian Zhuang on MMP UART3. 257fa4cd2a8SHaojian Zhuang 258650e3f0dSStephen Boyd config DEBUG_MSM_UART1 259650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART1" 260650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 261650e3f0dSStephen Boyd help 262650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 263650e3f0dSStephen Boyd their output to the first serial port on MSM devices. 264650e3f0dSStephen Boyd 265650e3f0dSStephen Boyd config DEBUG_MSM_UART2 266650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART2" 267650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 268650e3f0dSStephen Boyd help 269650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 270650e3f0dSStephen Boyd their output to the second serial port on MSM devices. 271650e3f0dSStephen Boyd 272650e3f0dSStephen Boyd config DEBUG_MSM_UART3 273650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART3" 274650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 275650e3f0dSStephen Boyd help 276650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 277650e3f0dSStephen Boyd their output to the third serial port on MSM devices. 278650e3f0dSStephen Boyd 279a3d3ef9dSStephen Boyd config DEBUG_MSM8660_UART 280a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8660 UART" 281a3d3ef9dSStephen Boyd depends on ARCH_MSM8X60 282a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 283a3d3ef9dSStephen Boyd help 284a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 285a3d3ef9dSStephen Boyd their output to the serial port on MSM 8660 devices. 286a3d3ef9dSStephen Boyd 287a3d3ef9dSStephen Boyd config DEBUG_MSM8960_UART 288a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8960 UART" 289a3d3ef9dSStephen Boyd depends on ARCH_MSM8960 290a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 291a3d3ef9dSStephen Boyd help 292a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 293a3d3ef9dSStephen Boyd their output to the serial port on MSM 8960 devices. 294a3d3ef9dSStephen Boyd 295bfd5af99SRob Herring config DEBUG_MVEBU_UART 296bfd5af99SRob Herring bool "Kernel low-level debugging messages via MVEBU UART" 297bfd5af99SRob Herring depends on ARCH_MVEBU 298bfd5af99SRob Herring help 299bfd5af99SRob Herring Say Y here if you want kernel low-level debugging support 300bfd5af99SRob Herring on MVEBU based platforms. 301bfd5af99SRob Herring 30259bba2a9SRob Herring config DEBUG_PICOXCELL_UART 30359bba2a9SRob Herring depends on ARCH_PICOXCELL 30459bba2a9SRob Herring bool "Use PicoXcell UART for low-level debug" 30559bba2a9SRob Herring help 30659bba2a9SRob Herring Say Y here if you want kernel low-level debugging support 30759bba2a9SRob Herring on PicoXcell based platforms. 30859bba2a9SRob Herring 309e76f4750SRussell King config DEBUG_REALVIEW_STD_PORT 310e76f4750SRussell King bool "RealView Default UART" 311e76f4750SRussell King depends on ARCH_REALVIEW 312e76f4750SRussell King help 313e76f4750SRussell King Say Y here if you want the debug print routines to direct 314e76f4750SRussell King their output to the serial port on RealView EB, PB11MP, PBA8 315e76f4750SRussell King and PBX platforms. 316e76f4750SRussell King 317e76f4750SRussell King config DEBUG_REALVIEW_PB1176_PORT 318e76f4750SRussell King bool "RealView PB1176 UART" 319e76f4750SRussell King depends on MACH_REALVIEW_PB1176 320e76f4750SRussell King help 321e76f4750SRussell King Say Y here if you want the debug print routines to direct 322e76f4750SRussell King their output to the standard serial port on the RealView 323e76f4750SRussell King PB1176 platform. 324e76f4750SRussell King 325e76f4750SRussell King config DEBUG_S3C_UART0 326e76f4750SRussell King depends on PLAT_SAMSUNG 327e76f4750SRussell King bool "Use S3C UART 0 for low-level debug" 328e76f4750SRussell King help 329e76f4750SRussell King Say Y here if you want the debug print routines to direct 330e76f4750SRussell King their output to UART 0. The port must have been initialised 331e76f4750SRussell King by the boot-loader before use. 332e76f4750SRussell King 333e76f4750SRussell King The uncompressor code port configuration is now handled 334e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 335e76f4750SRussell King 336e76f4750SRussell King config DEBUG_S3C_UART1 337e76f4750SRussell King depends on PLAT_SAMSUNG 338e76f4750SRussell King bool "Use S3C UART 1 for low-level debug" 339e76f4750SRussell King help 340e76f4750SRussell King Say Y here if you want the debug print routines to direct 341e76f4750SRussell King their output to UART 1. The port must have been initialised 342e76f4750SRussell King by the boot-loader before use. 343e76f4750SRussell King 344e76f4750SRussell King The uncompressor code port configuration is now handled 345e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 346e76f4750SRussell King 347e76f4750SRussell King config DEBUG_S3C_UART2 348e76f4750SRussell King depends on PLAT_SAMSUNG 349e76f4750SRussell King bool "Use S3C UART 2 for low-level debug" 350e76f4750SRussell King help 351e76f4750SRussell King Say Y here if you want the debug print routines to direct 352e76f4750SRussell King their output to UART 2. The port must have been initialised 353e76f4750SRussell King by the boot-loader before use. 354e76f4750SRussell King 355e76f4750SRussell King The uncompressor code port configuration is now handled 356e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 357e76f4750SRussell King 3586111bf7cSRob Herring config DEBUG_SOCFPGA_UART 3596111bf7cSRob Herring depends on ARCH_SOCFPGA 3606111bf7cSRob Herring bool "Use SOCFPGA UART for low-level debug" 3616111bf7cSRob Herring help 3626111bf7cSRob Herring Say Y here if you want kernel low-level debugging support 3636111bf7cSRob Herring on SOCFPGA based platforms. 3646111bf7cSRob Herring 3651b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_DETECT 3661b820eafSPawel Moll bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 3671b820eafSPawel Moll depends on ARCH_VEXPRESS && CPU_CP15_MMU 3681b820eafSPawel Moll help 3691b820eafSPawel Moll This option enables a simple heuristic which tries to determine 3701b820eafSPawel Moll the motherboard's memory map variant (original or RS1) and then 3711b820eafSPawel Moll choose the relevant UART0 base address. 3721b820eafSPawel Moll 3731b820eafSPawel Moll Note that this will only work with standard A-class core tiles, 3741b820eafSPawel Moll and may fail with non-standard SMM or custom software models. 3751b820eafSPawel Moll 3761b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_CA9 3771b820eafSPawel Moll bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 3781b820eafSPawel Moll depends on ARCH_VEXPRESS 3791b820eafSPawel Moll help 3801b820eafSPawel Moll This option selects UART0 at 0x10009000. Except for custom models, 3811b820eafSPawel Moll this applies only to the V2P-CA9 tile. 3821b820eafSPawel Moll 3831b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_RS1 3841b820eafSPawel Moll bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 3851b820eafSPawel Moll depends on ARCH_VEXPRESS 3861b820eafSPawel Moll help 3871b820eafSPawel Moll This option selects UART0 at 0x1c090000. This applies to most 3881b820eafSPawel Moll of the tiles using the RS1 memory map, including all new A-class 3891b820eafSPawel Moll core tiles, FPGA-based SMMs and software models. 3901b820eafSPawel Moll 391e76f4750SRussell King config DEBUG_LL_UART_NONE 392e76f4750SRussell King bool "No low-level debugging UART" 393387798b3SRob Herring depends on !ARCH_MULTIPLATFORM 394e76f4750SRussell King help 395e76f4750SRussell King Say Y here if your platform doesn't provide a UART option 396e76f4750SRussell King below. This relies on your platform choosing the right UART 397e76f4750SRussell King definition internally in order for low-level debugging to 398e76f4750SRussell King work. 399e76f4750SRussell King 400e76f4750SRussell King config DEBUG_ICEDCC 401e76f4750SRussell King bool "Kernel low-level debugging via EmbeddedICE DCC channel" 402e76f4750SRussell King help 403e76f4750SRussell King Say Y here if you want the debug print routines to direct 404e76f4750SRussell King their output to the EmbeddedICE macrocell's DCC channel using 405e76f4750SRussell King co-processor 14. This is known to work on the ARM9 style ICE 406e76f4750SRussell King channel and on the XScale with the PEEDI. 407e76f4750SRussell King 408e76f4750SRussell King Note that the system will appear to hang during boot if there 409e76f4750SRussell King is nothing connected to read from the DCC. 410e76f4750SRussell King 411b0df8986SRussell King config DEBUG_SEMIHOSTING 41262194bdaSStephen Boyd bool "Kernel low-level debug output via semihosting I/O" 413b0df8986SRussell King help 414b0df8986SRussell King Semihosting enables code running on an ARM target to use 415b0df8986SRussell King the I/O facilities on a host debugger/emulator through a 41662194bdaSStephen Boyd simple SVC call. The host debugger or emulator must have 417b0df8986SRussell King semihosting enabled for the special svc call to be trapped 418b0df8986SRussell King otherwise the kernel will crash. 419b0df8986SRussell King 420b0df8986SRussell King This is known to work with OpenOCD, as well as 421b0df8986SRussell King ARM's Fast Models, or any other controlling environment 422b0df8986SRussell King that implements semihosting. 423b0df8986SRussell King 424b0df8986SRussell King For more details about semihosting, please see 425b0df8986SRussell King chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 426b0df8986SRussell King 42717916b28SWill Deaconendchoice 42817916b28SWill Deacon 42991a9fec0SRob Herringconfig DEBUG_LL_INCLUDE 43091a9fec0SRob Herring string 43191a9fec0SRob Herring default "debug/icedcc.S" if DEBUG_ICEDCC 4322e9bb084SRob Herring default "debug/highbank.S" if DEBUG_HIGHBANK_UART 433bfd5af99SRob Herring default "debug/mvebu.S" if DEBUG_MVEBU_UART 43459bba2a9SRob Herring default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART 4356111bf7cSRob Herring default "debug/socfpga.S" if DEBUG_SOCFPGA_UART 436fa04e4dbSRob Herring default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ 437fa04e4dbSRob Herring DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 43891a9fec0SRob Herring default "mach/debug-macro.S" 43991a9fec0SRob Herring 44093fd03a8SCatalin Marinasconfig EARLY_PRINTK 44193fd03a8SCatalin Marinas bool "Early printk" 44293fd03a8SCatalin Marinas depends on DEBUG_LL 44393fd03a8SCatalin Marinas help 44493fd03a8SCatalin Marinas Say Y here if you want to have an early console using the 44593fd03a8SCatalin Marinas kernel low-level debugging functions. Add earlyprintk to your 44693fd03a8SCatalin Marinas kernel parameters to enable this console. 44793fd03a8SCatalin Marinas 448c5d6c770SAlexander Shishkinconfig OC_ETM 449c5d6c770SAlexander Shishkin bool "On-chip ETM and ETB" 45053eebb0dSArnd Bergmann depends on ARM_AMBA 451c5d6c770SAlexander Shishkin help 452c5d6c770SAlexander Shishkin Enables the on-chip embedded trace macrocell and embedded trace 453c5d6c770SAlexander Shishkin buffer driver that will allow you to collect traces of the 454c5d6c770SAlexander Shishkin kernel code. 455c5d6c770SAlexander Shishkin 4564189bc71SJon Medhurstconfig ARM_KPROBES_TEST 4574189bc71SJon Medhurst tristate "Kprobes test module" 4584189bc71SJon Medhurst depends on KPROBES && MODULES 4594189bc71SJon Medhurst help 4604189bc71SJon Medhurst Perform tests of kprobes API and instruction set simulation. 4614189bc71SJon Medhurst 462575320d6SWill Deaconconfig PID_IN_CONTEXTIDR 463575320d6SWill Deacon bool "Write the current PID to the CONTEXTIDR register" 464575320d6SWill Deacon depends on CPU_COPY_V6 465575320d6SWill Deacon help 466575320d6SWill Deacon Enabling this option causes the kernel to write the current PID to 467575320d6SWill Deacon the PROCID field of the CONTEXTIDR register, at the expense of some 468575320d6SWill Deacon additional instructions during context switch. Say Y here only if you 469575320d6SWill Deacon are planning to use hardware trace tools with this kernel. 470575320d6SWill Deacon 4711da177e4SLinus Torvaldsendmenu 472