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)" 35d6f94fa0SKees Cook depends on AEABI 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 135aaf5e0beSNick Bowler config DEBUG_ZYNQ_UART0 136aaf5e0beSNick Bowler bool "Kernel low-level debugging on Xilinx Zynq using UART0" 137aaf5e0beSNick Bowler depends on ARCH_ZYNQ 138aaf5e0beSNick Bowler help 139aaf5e0beSNick Bowler Say Y here if you want the debug print routines to direct 140aaf5e0beSNick Bowler their output to UART0 on the Zynq platform. 141aaf5e0beSNick Bowler 142aaf5e0beSNick Bowler config DEBUG_ZYNQ_UART1 143aaf5e0beSNick Bowler bool "Kernel low-level debugging on Xilinx Zynq using UART1" 144aaf5e0beSNick Bowler depends on ARCH_ZYNQ 145aaf5e0beSNick Bowler help 146aaf5e0beSNick Bowler Say Y here if you want the debug print routines to direct 147aaf5e0beSNick Bowler their output to UART1 on the Zynq platform. 148aaf5e0beSNick Bowler 149aaf5e0beSNick Bowler If you have a ZC702 board and want early boot messages to 150aaf5e0beSNick Bowler appear on the USB serial adaptor, select this option. 151aaf5e0beSNick 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 2084ad625d4SShawn Guo config DEBUG_IMX31_UART 2094ad625d4SShawn Guo bool "i.MX31 Debug UART" 2104ad625d4SShawn Guo depends on SOC_IMX31 211f350b861SShawn Guo help 212f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 2134ad625d4SShawn Guo on i.MX31. 2144ad625d4SShawn Guo 2154ad625d4SShawn Guo config DEBUG_IMX35_UART 2164ad625d4SShawn Guo bool "i.MX35 Debug UART" 2174ad625d4SShawn Guo depends on SOC_IMX35 2184ad625d4SShawn Guo help 2194ad625d4SShawn Guo Say Y here if you want kernel low-level debugging support 2204ad625d4SShawn Guo on i.MX35. 221f350b861SShawn Guo 222f350b861SShawn Guo config DEBUG_IMX51_UART 223f350b861SShawn Guo bool "i.MX51 Debug UART" 224f350b861SShawn Guo depends on SOC_IMX51 225f350b861SShawn Guo help 226f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 227f350b861SShawn Guo on i.MX51. 228f350b861SShawn Guo 2297356420cSFabio Estevam config DEBUG_IMX53_UART 2307356420cSFabio Estevam bool "i.MX53 Debug UART" 2317356420cSFabio Estevam depends on SOC_IMX53 232f350b861SShawn Guo help 233f350b861SShawn Guo Say Y here if you want kernel low-level debugging support 2347356420cSFabio Estevam on i.MX53. 235f350b861SShawn Guo 23649c9e60eSShawn Guo config DEBUG_IMX6Q_UART 23749c9e60eSShawn Guo bool "i.MX6Q Debug UART" 238785d7fabSDirk Behme depends on SOC_IMX6Q 239785d7fabSDirk Behme help 240785d7fabSDirk Behme Say Y here if you want kernel low-level debugging support 24149c9e60eSShawn Guo on i.MX6Q. 242bac89d75SShawn Guo 243fa4cd2a8SHaojian Zhuang config DEBUG_MMP_UART2 244fa4cd2a8SHaojian Zhuang bool "Kernel low-level debugging message via MMP UART2" 245fa4cd2a8SHaojian Zhuang depends on ARCH_MMP 246fa4cd2a8SHaojian Zhuang help 247fa4cd2a8SHaojian Zhuang Say Y here if you want kernel low-level debugging support 248fa4cd2a8SHaojian Zhuang on MMP UART2. 249fa4cd2a8SHaojian Zhuang 250fa4cd2a8SHaojian Zhuang config DEBUG_MMP_UART3 251fa4cd2a8SHaojian Zhuang bool "Kernel low-level debugging message via MMP UART3" 252fa4cd2a8SHaojian Zhuang depends on ARCH_MMP 253fa4cd2a8SHaojian Zhuang help 254fa4cd2a8SHaojian Zhuang Say Y here if you want kernel low-level debugging support 255fa4cd2a8SHaojian Zhuang on MMP UART3. 256fa4cd2a8SHaojian Zhuang 257650e3f0dSStephen Boyd config DEBUG_MSM_UART1 258650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART1" 259650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 260650e3f0dSStephen Boyd help 261650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 262650e3f0dSStephen Boyd their output to the first serial port on MSM devices. 263650e3f0dSStephen Boyd 264650e3f0dSStephen Boyd config DEBUG_MSM_UART2 265650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART2" 266650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 267650e3f0dSStephen Boyd help 268650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 269650e3f0dSStephen Boyd their output to the second serial port on MSM devices. 270650e3f0dSStephen Boyd 271650e3f0dSStephen Boyd config DEBUG_MSM_UART3 272650e3f0dSStephen Boyd bool "Kernel low-level debugging messages via MSM UART3" 273650e3f0dSStephen Boyd depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 274650e3f0dSStephen Boyd help 275650e3f0dSStephen Boyd Say Y here if you want the debug print routines to direct 276650e3f0dSStephen Boyd their output to the third serial port on MSM devices. 277650e3f0dSStephen Boyd 278a3d3ef9dSStephen Boyd config DEBUG_MSM8660_UART 279a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8660 UART" 280a3d3ef9dSStephen Boyd depends on ARCH_MSM8X60 281a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 282a3d3ef9dSStephen Boyd help 283a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 284a3d3ef9dSStephen Boyd their output to the serial port on MSM 8660 devices. 285a3d3ef9dSStephen Boyd 286a3d3ef9dSStephen Boyd config DEBUG_MSM8960_UART 287a3d3ef9dSStephen Boyd bool "Kernel low-level debugging messages via MSM 8960 UART" 288a3d3ef9dSStephen Boyd depends on ARCH_MSM8960 289a3d3ef9dSStephen Boyd select MSM_HAS_DEBUG_UART_HS 290a3d3ef9dSStephen Boyd help 291a3d3ef9dSStephen Boyd Say Y here if you want the debug print routines to direct 292a3d3ef9dSStephen Boyd their output to the serial port on MSM 8960 devices. 293a3d3ef9dSStephen Boyd 294bfd5af99SRob Herring config DEBUG_MVEBU_UART 295bfd5af99SRob Herring bool "Kernel low-level debugging messages via MVEBU UART" 296bfd5af99SRob Herring depends on ARCH_MVEBU 297bfd5af99SRob Herring help 298bfd5af99SRob Herring Say Y here if you want kernel low-level debugging support 299bfd5af99SRob Herring on MVEBU based platforms. 300bfd5af99SRob Herring 301808b7e07STony Lindgren config DEBUG_OMAP2PLUS_UART 302808b7e07STony Lindgren bool "Kernel low-level debugging messages via OMAP2PLUS UART" 303808b7e07STony Lindgren depends on ARCH_OMAP2PLUS 304808b7e07STony Lindgren help 305808b7e07STony Lindgren Say Y here if you want kernel low-level debugging support 306808b7e07STony Lindgren on OMAP2PLUS based platforms. 307808b7e07STony Lindgren 30859bba2a9SRob Herring config DEBUG_PICOXCELL_UART 30959bba2a9SRob Herring depends on ARCH_PICOXCELL 31059bba2a9SRob Herring bool "Use PicoXcell UART for low-level debug" 31159bba2a9SRob Herring help 31259bba2a9SRob Herring Say Y here if you want kernel low-level debugging support 31359bba2a9SRob Herring on PicoXcell based platforms. 31459bba2a9SRob Herring 315e76f4750SRussell King config DEBUG_REALVIEW_STD_PORT 316e76f4750SRussell King bool "RealView Default UART" 317e76f4750SRussell King depends on ARCH_REALVIEW 318e76f4750SRussell King help 319e76f4750SRussell King Say Y here if you want the debug print routines to direct 320e76f4750SRussell King their output to the serial port on RealView EB, PB11MP, PBA8 321e76f4750SRussell King and PBX platforms. 322e76f4750SRussell King 323e76f4750SRussell King config DEBUG_REALVIEW_PB1176_PORT 324e76f4750SRussell King bool "RealView PB1176 UART" 325e76f4750SRussell King depends on MACH_REALVIEW_PB1176 326e76f4750SRussell King help 327e76f4750SRussell King Say Y here if you want the debug print routines to direct 328e76f4750SRussell King their output to the standard serial port on the RealView 329e76f4750SRussell King PB1176 platform. 330e76f4750SRussell King 331e76f4750SRussell King config DEBUG_S3C_UART0 332e76f4750SRussell King depends on PLAT_SAMSUNG 333e76f4750SRussell King bool "Use S3C UART 0 for low-level debug" 334e76f4750SRussell King help 335e76f4750SRussell King Say Y here if you want the debug print routines to direct 336e76f4750SRussell King their output to UART 0. The port must have been initialised 337e76f4750SRussell King by the boot-loader before use. 338e76f4750SRussell King 339e76f4750SRussell King The uncompressor code port configuration is now handled 340e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 341e76f4750SRussell King 342e76f4750SRussell King config DEBUG_S3C_UART1 343e76f4750SRussell King depends on PLAT_SAMSUNG 344e76f4750SRussell King bool "Use S3C UART 1 for low-level debug" 345e76f4750SRussell King help 346e76f4750SRussell King Say Y here if you want the debug print routines to direct 347e76f4750SRussell King their output to UART 1. The port must have been initialised 348e76f4750SRussell King by the boot-loader before use. 349e76f4750SRussell King 350e76f4750SRussell King The uncompressor code port configuration is now handled 351e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 352e76f4750SRussell King 353e76f4750SRussell King config DEBUG_S3C_UART2 354e76f4750SRussell King depends on PLAT_SAMSUNG 355e76f4750SRussell King bool "Use S3C UART 2 for low-level debug" 356e76f4750SRussell King help 357e76f4750SRussell King Say Y here if you want the debug print routines to direct 358e76f4750SRussell King their output to UART 2. The port must have been initialised 359e76f4750SRussell King by the boot-loader before use. 360e76f4750SRussell King 361e76f4750SRussell King The uncompressor code port configuration is now handled 362e76f4750SRussell King by CONFIG_S3C_LOWLEVEL_UART_PORT. 363e76f4750SRussell King 3645fa23ddeSOlof Johansson config DEBUG_S3C_UART3 3655fa23ddeSOlof Johansson depends on PLAT_SAMSUNG && ARCH_EXYNOS 3665fa23ddeSOlof Johansson bool "Use S3C UART 3 for low-level debug" 3675fa23ddeSOlof Johansson help 3685fa23ddeSOlof Johansson Say Y here if you want the debug print routines to direct 3695fa23ddeSOlof Johansson their output to UART 3. The port must have been initialised 3705fa23ddeSOlof Johansson by the boot-loader before use. 3715fa23ddeSOlof Johansson 3725fa23ddeSOlof Johansson The uncompressor code port configuration is now handled 3735fa23ddeSOlof Johansson by CONFIG_S3C_LOWLEVEL_UART_PORT. 3745fa23ddeSOlof Johansson 3756111bf7cSRob Herring config DEBUG_SOCFPGA_UART 3766111bf7cSRob Herring depends on ARCH_SOCFPGA 3776111bf7cSRob Herring bool "Use SOCFPGA UART for low-level debug" 3786111bf7cSRob Herring help 3796111bf7cSRob Herring Say Y here if you want kernel low-level debugging support 3806111bf7cSRob Herring on SOCFPGA based platforms. 3816111bf7cSRob Herring 382aa25115aSStefan Roese config DEBUG_SUNXI_UART0 383aa25115aSStefan Roese bool "Kernel low-level debugging messages via sunXi UART0" 384aa25115aSStefan Roese depends on ARCH_SUNXI 385aa25115aSStefan Roese help 386aa25115aSStefan Roese Say Y here if you want kernel low-level debugging support 387aa25115aSStefan Roese on Allwinner A1X based platforms on the UART0. 388aa25115aSStefan Roese 389cb84fa18SMaxime Ripard config DEBUG_SUNXI_UART1 390cb84fa18SMaxime Ripard bool "Kernel low-level debugging messages via sunXi UART1" 391cb84fa18SMaxime Ripard depends on ARCH_SUNXI 392cb84fa18SMaxime Ripard help 393cb84fa18SMaxime Ripard Say Y here if you want kernel low-level debugging support 394cb84fa18SMaxime Ripard on Allwinner A1X based platforms on the UART1. 395cb84fa18SMaxime Ripard 39646067803SStephen Warren config DEBUG_TEGRA_UART 39746067803SStephen Warren depends on ARCH_TEGRA 39846067803SStephen Warren bool "Use Tegra UART for low-level debug" 39946067803SStephen Warren help 40046067803SStephen Warren Say Y here if you want kernel low-level debugging support 40146067803SStephen Warren on Tegra based platforms. 40246067803SStephen Warren 4037f46a107SBarry Song config DEBUG_SIRFPRIMA2_UART1 4047f46a107SBarry Song bool "Kernel low-level debugging messages via SiRFprimaII UART1" 4057f46a107SBarry Song depends on ARCH_PRIMA2 4067f46a107SBarry Song help 4077f46a107SBarry Song Say Y here if you want the debug print routines to direct 4087f46a107SBarry Song their output to the uart1 port on SiRFprimaII devices. 4097f46a107SBarry Song 4107f46a107SBarry Song config DEBUG_SIRFMARCO_UART1 4117f46a107SBarry Song bool "Kernel low-level debugging messages via SiRFmarco UART1" 4127f46a107SBarry Song depends on ARCH_MARCO 4137f46a107SBarry Song help 4147f46a107SBarry Song Say Y here if you want the debug print routines to direct 4157f46a107SBarry Song their output to the uart1 port on SiRFmarco devices. 4167f46a107SBarry Song 4171b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_DETECT 4181b820eafSPawel Moll bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 4191b820eafSPawel Moll depends on ARCH_VEXPRESS && CPU_CP15_MMU 4201b820eafSPawel Moll help 4211b820eafSPawel Moll This option enables a simple heuristic which tries to determine 4221b820eafSPawel Moll the motherboard's memory map variant (original or RS1) and then 4231b820eafSPawel Moll choose the relevant UART0 base address. 4241b820eafSPawel Moll 4251b820eafSPawel Moll Note that this will only work with standard A-class core tiles, 4261b820eafSPawel Moll and may fail with non-standard SMM or custom software models. 4271b820eafSPawel Moll 4281b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_CA9 4291b820eafSPawel Moll bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 4301b820eafSPawel Moll depends on ARCH_VEXPRESS 4311b820eafSPawel Moll help 4321b820eafSPawel Moll This option selects UART0 at 0x10009000. Except for custom models, 4331b820eafSPawel Moll this applies only to the V2P-CA9 tile. 4341b820eafSPawel Moll 4351b820eafSPawel Moll config DEBUG_VEXPRESS_UART0_RS1 4361b820eafSPawel Moll bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 4371b820eafSPawel Moll depends on ARCH_VEXPRESS 4381b820eafSPawel Moll help 4391b820eafSPawel Moll This option selects UART0 at 0x1c090000. This applies to most 4401b820eafSPawel Moll of the tiles using the RS1 memory map, including all new A-class 4411b820eafSPawel Moll core tiles, FPGA-based SMMs and software models. 4421b820eafSPawel Moll 443b61a2722STony Prisk config DEBUG_VT8500_UART0 444b61a2722STony Prisk bool "Use UART0 on VIA/Wondermedia SoCs" 445b61a2722STony Prisk depends on ARCH_VT8500 446b61a2722STony Prisk help 447b61a2722STony Prisk This option selects UART0 on VIA/Wondermedia System-on-a-chip 448b61a2722STony Prisk devices, including VT8500, WM8505, WM8650 and WM8850. 449b61a2722STony Prisk 450e76f4750SRussell King config DEBUG_LL_UART_NONE 451e76f4750SRussell King bool "No low-level debugging UART" 452387798b3SRob Herring depends on !ARCH_MULTIPLATFORM 453e76f4750SRussell King help 454e76f4750SRussell King Say Y here if your platform doesn't provide a UART option 455e76f4750SRussell King below. This relies on your platform choosing the right UART 456e76f4750SRussell King definition internally in order for low-level debugging to 457e76f4750SRussell King work. 458e76f4750SRussell King 459e76f4750SRussell King config DEBUG_ICEDCC 460e76f4750SRussell King bool "Kernel low-level debugging via EmbeddedICE DCC channel" 461e76f4750SRussell King help 462e76f4750SRussell King Say Y here if you want the debug print routines to direct 463e76f4750SRussell King their output to the EmbeddedICE macrocell's DCC channel using 464e76f4750SRussell King co-processor 14. This is known to work on the ARM9 style ICE 465e76f4750SRussell King channel and on the XScale with the PEEDI. 466e76f4750SRussell King 467e76f4750SRussell King Note that the system will appear to hang during boot if there 468e76f4750SRussell King is nothing connected to read from the DCC. 469e76f4750SRussell King 470b0df8986SRussell King config DEBUG_SEMIHOSTING 47162194bdaSStephen Boyd bool "Kernel low-level debug output via semihosting I/O" 472b0df8986SRussell King help 473b0df8986SRussell King Semihosting enables code running on an ARM target to use 474b0df8986SRussell King the I/O facilities on a host debugger/emulator through a 47562194bdaSStephen Boyd simple SVC call. The host debugger or emulator must have 476b0df8986SRussell King semihosting enabled for the special svc call to be trapped 477b0df8986SRussell King otherwise the kernel will crash. 478b0df8986SRussell King 479b0df8986SRussell King This is known to work with OpenOCD, as well as 480b0df8986SRussell King ARM's Fast Models, or any other controlling environment 481b0df8986SRussell King that implements semihosting. 482b0df8986SRussell King 483b0df8986SRussell King For more details about semihosting, please see 484b0df8986SRussell King chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 485b0df8986SRussell King 48617916b28SWill Deaconendchoice 48717916b28SWill Deacon 488f8c95fe6SShawn Guoconfig DEBUG_IMX_UART_PORT 489f8c95fe6SShawn Guo int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ 490f8c95fe6SShawn Guo DEBUG_IMX25_UART || \ 491f8c95fe6SShawn Guo DEBUG_IMX21_IMX27_UART || \ 492f8c95fe6SShawn Guo DEBUG_IMX31_UART || \ 493f8c95fe6SShawn Guo DEBUG_IMX35_UART || \ 494f8c95fe6SShawn Guo DEBUG_IMX51_UART || \ 495f8c95fe6SShawn Guo DEBUG_IMX50_IMX53_UART || \ 496f8c95fe6SShawn Guo DEBUG_IMX6Q_UART 49749c9e60eSShawn Guo default 1 49849c9e60eSShawn Guo help 49949c9e60eSShawn Guo Choose UART port on which kernel low-level debug messages 50049c9e60eSShawn Guo should be output. 50149c9e60eSShawn Guo 50246067803SStephen Warrenchoice 50346067803SStephen Warren prompt "Low-level debug console UART" 504808b7e07STony Lindgren depends on DEBUG_OMAP2PLUS_UART 505808b7e07STony Lindgren 506808b7e07STony Lindgren config DEBUG_OMAP2UART1 507808b7e07STony Lindgren bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" 508808b7e07STony Lindgren help 509808b7e07STony Lindgren This covers at least h4, 2430sdp, 3430sdp, 3630sdp, 510808b7e07STony Lindgren omap3 torpedo and 3530 lv som. 511808b7e07STony Lindgren 512808b7e07STony Lindgren config DEBUG_OMAP2UART2 513808b7e07STony Lindgren bool "OMAP2/3/4 UART2" 514808b7e07STony Lindgren 515808b7e07STony Lindgren config DEBUG_OMAP2UART3 516808b7e07STony Lindgren bool "OMAP2 UART3 (n8x0)" 517808b7e07STony Lindgren 518808b7e07STony Lindgren config DEBUG_OMAP3UART3 519808b7e07STony Lindgren bool "OMAP3 UART3 (most omap3 boards)" 520808b7e07STony Lindgren help 521808b7e07STony Lindgren This covers at least cm_t3x, beagle, crane, devkit8000, 522808b7e07STony Lindgren igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, 523808b7e07STony Lindgren and 3517evm. 524808b7e07STony Lindgren 525808b7e07STony Lindgren config DEBUG_OMAP4UART3 526808b7e07STony Lindgren bool "OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" 527808b7e07STony Lindgren 528808b7e07STony Lindgren config DEBUG_OMAP3UART4 529808b7e07STony Lindgren bool "OMAP36XX UART4" 530808b7e07STony Lindgren 531808b7e07STony Lindgren config DEBUG_OMAP4UART4 532808b7e07STony Lindgren bool "OMAP4/5 UART4" 533808b7e07STony Lindgren 534808b7e07STony Lindgren config DEBUG_TI81XXUART1 535808b7e07STony Lindgren bool "TI81XX UART1 (ti8148evm)" 536808b7e07STony Lindgren 537808b7e07STony Lindgren config DEBUG_TI81XXUART2 538808b7e07STony Lindgren bool "TI81XX UART2" 539808b7e07STony Lindgren 540808b7e07STony Lindgren config DEBUG_TI81XXUART3 541808b7e07STony Lindgren bool "TI81XX UART3 (ti8168evm)" 542808b7e07STony Lindgren 543808b7e07STony Lindgren config DEBUG_AM33XXUART1 544808b7e07STony Lindgren bool "AM33XX UART1" 545808b7e07STony Lindgren 546808b7e07STony Lindgren config DEBUG_ZOOM_UART 547808b7e07STony Lindgren bool "Zoom2/3 UART" 548808b7e07STony Lindgrenendchoice 549808b7e07STony Lindgren 550808b7e07STony Lindgrenchoice 551808b7e07STony Lindgren prompt "Low-level debug console UART" 55246067803SStephen Warren depends on DEBUG_LL && DEBUG_TEGRA_UART 55346067803SStephen Warren 55446067803SStephen Warren config TEGRA_DEBUG_UART_AUTO_ODMDATA 55546067803SStephen Warren bool "Via ODMDATA" 55646067803SStephen Warren help 55746067803SStephen Warren Automatically determines which UART to use for low-level debug based 55846067803SStephen Warren on the ODMDATA value. This value is part of the BCT, and is written 55946067803SStephen Warren to the boot memory device using nvflash, or other flashing tool. 56046067803SStephen Warren When bits 19:18 are 3, then bits 17:15 indicate which UART to use; 56146067803SStephen Warren 0/1/2/3/4 are UART A/B/C/D/E. 56246067803SStephen Warren 56346067803SStephen Warren config TEGRA_DEBUG_UARTA 56446067803SStephen Warren bool "UART A" 56546067803SStephen Warren 56646067803SStephen Warren config TEGRA_DEBUG_UARTB 56746067803SStephen Warren bool "UART B" 56846067803SStephen Warren 56946067803SStephen Warren config TEGRA_DEBUG_UARTC 57046067803SStephen Warren bool "UART C" 57146067803SStephen Warren 57246067803SStephen Warren config TEGRA_DEBUG_UARTD 57346067803SStephen Warren bool "UART D" 57446067803SStephen Warren 57546067803SStephen Warren config TEGRA_DEBUG_UARTE 57646067803SStephen Warren bool "UART E" 57746067803SStephen Warren 57846067803SStephen Warrenendchoice 57946067803SStephen Warren 58091a9fec0SRob Herringconfig DEBUG_LL_INCLUDE 58191a9fec0SRob Herring string 58291a9fec0SRob Herring default "debug/icedcc.S" if DEBUG_ICEDCC 5836dde5ac5SShawn Guo default "debug/imx.S" if DEBUG_IMX1_UART || \ 5846dde5ac5SShawn Guo DEBUG_IMX25_UART || \ 5856dde5ac5SShawn Guo DEBUG_IMX21_IMX27_UART || \ 5864ad625d4SShawn Guo DEBUG_IMX31_UART || \ 5874ad625d4SShawn Guo DEBUG_IMX35_UART || \ 5886dde5ac5SShawn Guo DEBUG_IMX51_UART || \ 5897356420cSFabio Estevam DEBUG_IMX53_UART ||\ 59049c9e60eSShawn Guo DEBUG_IMX6Q_UART 5912e9bb084SRob Herring default "debug/highbank.S" if DEBUG_HIGHBANK_UART 592bfd5af99SRob Herring default "debug/mvebu.S" if DEBUG_MVEBU_UART 593808b7e07STony Lindgren default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART 59459bba2a9SRob Herring default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART 5956111bf7cSRob Herring default "debug/socfpga.S" if DEBUG_SOCFPGA_UART 596aa25115aSStefan Roese default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 597fa04e4dbSRob Herring default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ 598fa04e4dbSRob Herring DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 599b61a2722STony Prisk default "debug/vt8500.S" if DEBUG_VT8500_UART0 60046067803SStephen Warren default "debug/tegra.S" if DEBUG_TEGRA_UART 601385f02b1SJosh Cartwright default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 60291a9fec0SRob Herring default "mach/debug-macro.S" 60391a9fec0SRob Herring 604*615967b0SShawn Guoconfig UNCOMPRESS_INCLUDE 605*615967b0SShawn Guo string 606*615967b0SShawn Guo default "debug/uncompress.h" if ARCH_MULTIPLATFORM 607*615967b0SShawn Guo default "mach/uncompress.h" 608*615967b0SShawn Guo 60993fd03a8SCatalin Marinasconfig EARLY_PRINTK 61093fd03a8SCatalin Marinas bool "Early printk" 61193fd03a8SCatalin Marinas depends on DEBUG_LL 61293fd03a8SCatalin Marinas help 61393fd03a8SCatalin Marinas Say Y here if you want to have an early console using the 61493fd03a8SCatalin Marinas kernel low-level debugging functions. Add earlyprintk to your 61593fd03a8SCatalin Marinas kernel parameters to enable this console. 61693fd03a8SCatalin Marinas 617c5d6c770SAlexander Shishkinconfig OC_ETM 618c5d6c770SAlexander Shishkin bool "On-chip ETM and ETB" 61953eebb0dSArnd Bergmann depends on ARM_AMBA 620c5d6c770SAlexander Shishkin help 621c5d6c770SAlexander Shishkin Enables the on-chip embedded trace macrocell and embedded trace 622c5d6c770SAlexander Shishkin buffer driver that will allow you to collect traces of the 623c5d6c770SAlexander Shishkin kernel code. 624c5d6c770SAlexander Shishkin 6254189bc71SJon Medhurstconfig ARM_KPROBES_TEST 6264189bc71SJon Medhurst tristate "Kprobes test module" 6274189bc71SJon Medhurst depends on KPROBES && MODULES 6284189bc71SJon Medhurst help 6294189bc71SJon Medhurst Perform tests of kprobes API and instruction set simulation. 6304189bc71SJon Medhurst 631575320d6SWill Deaconconfig PID_IN_CONTEXTIDR 632575320d6SWill Deacon bool "Write the current PID to the CONTEXTIDR register" 633575320d6SWill Deacon depends on CPU_COPY_V6 634575320d6SWill Deacon help 635575320d6SWill Deacon Enabling this option causes the kernel to write the current PID to 636575320d6SWill Deacon the PROCID field of the CONTEXTIDR register, at the expense of some 637575320d6SWill Deacon additional instructions during context switch. Say Y here only if you 638575320d6SWill Deacon are planning to use hardware trace tools with this kernel. 639575320d6SWill Deacon 6401da177e4SLinus Torvaldsendmenu 641