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 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 AT91_DEBUG_LL_DBGU0 85 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl" 86 depends on HAVE_AT91_DBGU0 87 88 config AT91_DEBUG_LL_DBGU1 89 bool "Kernel low-level debugging on 9263 and 9g45" 90 depends on HAVE_AT91_DBGU1 91 92 config DEBUG_BCM2835 93 bool "Kernel low-level debugging on BCM2835 PL011 UART" 94 depends on ARCH_BCM2835 95 96 config DEBUG_CLPS711X_UART1 97 bool "Kernel low-level debugging messages via UART1" 98 depends on ARCH_CLPS711X 99 help 100 Say Y here if you want the debug print routines to direct 101 their output to the first serial port on these devices. 102 103 config DEBUG_CLPS711X_UART2 104 bool "Kernel low-level debugging messages via UART2" 105 depends on ARCH_CLPS711X 106 help 107 Say Y here if you want the debug print routines to direct 108 their output to the second serial port on these devices. 109 110 config DEBUG_CNS3XXX 111 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx" 112 depends on ARCH_CNS3XXX 113 help 114 Say Y here if you want the debug print routines to direct 115 their output to the CNS3xxx UART0. 116 117 config DEBUG_DAVINCI_DA8XX_UART1 118 bool "Kernel low-level debugging on DaVinci DA8XX using UART1" 119 depends on ARCH_DAVINCI_DA8XX 120 help 121 Say Y here if you want the debug print routines to direct 122 their output to UART1 serial port on DaVinci DA8XX devices. 123 124 config DEBUG_DAVINCI_DA8XX_UART2 125 bool "Kernel low-level debugging on DaVinci DA8XX using UART2" 126 depends on ARCH_DAVINCI_DA8XX 127 help 128 Say Y here if you want the debug print routines to direct 129 their output to UART2 serial port on DaVinci DA8XX devices. 130 131 config DEBUG_DAVINCI_DMx_UART0 132 bool "Kernel low-level debugging on DaVinci DMx using UART0" 133 depends on ARCH_DAVINCI_DMx 134 help 135 Say Y here if you want the debug print routines to direct 136 their output to UART0 serial port on DaVinci DMx devices. 137 138 config DEBUG_DAVINCI_TNETV107X_UART1 139 bool "Kernel low-level debugging on DaVinci TNETV107x using UART1" 140 depends on ARCH_DAVINCI_TNETV107X 141 help 142 Say Y here if you want the debug print routines to direct 143 their output to UART1 serial port on DaVinci TNETV107X 144 devices. 145 146 config DEBUG_ZYNQ_UART0 147 bool "Kernel low-level debugging on Xilinx Zynq using UART0" 148 depends on ARCH_ZYNQ 149 help 150 Say Y here if you want the debug print routines to direct 151 their output to UART0 on the Zynq platform. 152 153 config DEBUG_ZYNQ_UART1 154 bool "Kernel low-level debugging on Xilinx Zynq using UART1" 155 depends on ARCH_ZYNQ 156 help 157 Say Y here if you want the debug print routines to direct 158 their output to UART1 on the Zynq platform. 159 160 If you have a ZC702 board and want early boot messages to 161 appear on the USB serial adaptor, select this option. 162 163 config DEBUG_DC21285_PORT 164 bool "Kernel low-level debugging messages via footbridge serial port" 165 depends on FOOTBRIDGE 166 help 167 Say Y here if you want the debug print routines to direct 168 their output to the serial port in the DC21285 (Footbridge). 169 170 config DEBUG_FOOTBRIDGE_COM1 171 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 172 depends on FOOTBRIDGE 173 help 174 Say Y here if you want the debug print routines to direct 175 their output to the 8250 at PCI COM1. 176 177 config DEBUG_HIGHBANK_UART 178 bool "Kernel low-level debugging messages via Highbank UART" 179 depends on ARCH_HIGHBANK 180 help 181 Say Y here if you want the debug print routines to direct 182 their output to the UART on Highbank based devices. 183 184 config DEBUG_IMX1_UART 185 bool "i.MX1 Debug UART" 186 depends on SOC_IMX1 187 help 188 Say Y here if you want kernel low-level debugging support 189 on i.MX1. 190 191 config DEBUG_IMX23_UART 192 bool "i.MX23 Debug UART" 193 depends on SOC_IMX23 194 help 195 Say Y here if you want kernel low-level debugging support 196 on i.MX23. 197 198 config DEBUG_IMX25_UART 199 bool "i.MX25 Debug UART" 200 depends on SOC_IMX25 201 help 202 Say Y here if you want kernel low-level debugging support 203 on i.MX25. 204 205 config DEBUG_IMX21_IMX27_UART 206 bool "i.MX21 and i.MX27 Debug UART" 207 depends on SOC_IMX21 || SOC_IMX27 208 help 209 Say Y here if you want kernel low-level debugging support 210 on i.MX21 or i.MX27. 211 212 config DEBUG_IMX28_UART 213 bool "i.MX28 Debug UART" 214 depends on SOC_IMX28 215 help 216 Say Y here if you want kernel low-level debugging support 217 on i.MX28. 218 219 config DEBUG_IMX31_UART 220 bool "i.MX31 Debug UART" 221 depends on SOC_IMX31 222 help 223 Say Y here if you want kernel low-level debugging support 224 on i.MX31. 225 226 config DEBUG_IMX35_UART 227 bool "i.MX35 Debug UART" 228 depends on SOC_IMX35 229 help 230 Say Y here if you want kernel low-level debugging support 231 on i.MX35. 232 233 config DEBUG_IMX51_UART 234 bool "i.MX51 Debug UART" 235 depends on SOC_IMX51 236 help 237 Say Y here if you want kernel low-level debugging support 238 on i.MX51. 239 240 config DEBUG_IMX53_UART 241 bool "i.MX53 Debug UART" 242 depends on SOC_IMX53 243 help 244 Say Y here if you want kernel low-level debugging support 245 on i.MX53. 246 247 config DEBUG_IMX6Q_UART 248 bool "i.MX6Q/DL Debug UART" 249 depends on SOC_IMX6Q 250 help 251 Say Y here if you want kernel low-level debugging support 252 on i.MX6Q/DL. 253 254 config DEBUG_IMX6SL_UART 255 bool "i.MX6SL Debug UART" 256 depends on SOC_IMX6SL 257 help 258 Say Y here if you want kernel low-level debugging support 259 on i.MX6SL. 260 261 config DEBUG_KEYSTONE_UART0 262 bool "Kernel low-level debugging on KEYSTONE2 using UART0" 263 depends on ARCH_KEYSTONE 264 help 265 Say Y here if you want the debug print routines to direct 266 their output to UART0 serial port on KEYSTONE2 devices. 267 268 config DEBUG_KEYSTONE_UART1 269 bool "Kernel low-level debugging on KEYSTONE2 using UART1" 270 depends on ARCH_KEYSTONE 271 help 272 Say Y here if you want the debug print routines to direct 273 their output to UART1 serial port on KEYSTONE2 devices. 274 275 config DEBUG_MMP_UART2 276 bool "Kernel low-level debugging message via MMP UART2" 277 depends on ARCH_MMP 278 help 279 Say Y here if you want kernel low-level debugging support 280 on MMP UART2. 281 282 config DEBUG_MMP_UART3 283 bool "Kernel low-level debugging message via MMP UART3" 284 depends on ARCH_MMP 285 help 286 Say Y here if you want kernel low-level debugging support 287 on MMP UART3. 288 289 config DEBUG_MSM_UART1 290 bool "Kernel low-level debugging messages via MSM UART1" 291 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 292 help 293 Say Y here if you want the debug print routines to direct 294 their output to the first serial port on MSM devices. 295 296 config DEBUG_MSM_UART2 297 bool "Kernel low-level debugging messages via MSM UART2" 298 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 299 help 300 Say Y here if you want the debug print routines to direct 301 their output to the second serial port on MSM devices. 302 303 config DEBUG_MSM_UART3 304 bool "Kernel low-level debugging messages via MSM UART3" 305 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 306 help 307 Say Y here if you want the debug print routines to direct 308 their output to the third serial port on MSM devices. 309 310 config DEBUG_MSM8660_UART 311 bool "Kernel low-level debugging messages via MSM 8660 UART" 312 depends on ARCH_MSM8X60 313 select MSM_HAS_DEBUG_UART_HS 314 help 315 Say Y here if you want the debug print routines to direct 316 their output to the serial port on MSM 8660 devices. 317 318 config DEBUG_MSM8960_UART 319 bool "Kernel low-level debugging messages via MSM 8960 UART" 320 depends on ARCH_MSM8960 321 select MSM_HAS_DEBUG_UART_HS 322 help 323 Say Y here if you want the debug print routines to direct 324 their output to the serial port on MSM 8960 devices. 325 326 config DEBUG_MVEBU_UART 327 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)" 328 depends on ARCH_MVEBU 329 help 330 Say Y here if you want kernel low-level debugging support 331 on MVEBU based platforms. 332 333 This option should be used with the old bootloaders 334 that left the internal registers mapped at 335 0xd0000000. As of today, this is the case on 336 platforms such as the Globalscale Mirabox or the 337 Plathome OpenBlocks AX3, when using the original 338 bootloader. 339 340 If the wrong DEBUG_MVEBU_UART* option is selected, 341 when u-boot hands over to the kernel, the system 342 silently crashes, with no serial output at all. 343 344 config DEBUG_MVEBU_UART_ALTERNATE 345 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)" 346 depends on ARCH_MVEBU 347 help 348 Say Y here if you want kernel low-level debugging support 349 on MVEBU based platforms. 350 351 This option should be used with the new bootloaders 352 that remap the internal registers at 0xf1000000. 353 354 If the wrong DEBUG_MVEBU_UART* option is selected, 355 when u-boot hands over to the kernel, the system 356 silently crashes, with no serial output at all. 357 358 config DEBUG_NOMADIK_UART 359 bool "Kernel low-level debugging messages via NOMADIK UART" 360 depends on ARCH_NOMADIK 361 help 362 Say Y here if you want kernel low-level debugging support 363 on NOMADIK based platforms. 364 365 config DEBUG_NSPIRE_CLASSIC_UART 366 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART" 367 depends on ARCH_NSPIRE 368 help 369 Say Y here if you want kernel low-level debugging support 370 on TI-NSPIRE classic models. 371 372 config DEBUG_NSPIRE_CX_UART 373 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART" 374 depends on ARCH_NSPIRE 375 help 376 Say Y here if you want kernel low-level debugging support 377 on TI-NSPIRE CX models. 378 379 config DEBUG_OMAP2PLUS_UART 380 bool "Kernel low-level debugging messages via OMAP2PLUS UART" 381 depends on ARCH_OMAP2PLUS 382 help 383 Say Y here if you want kernel low-level debugging support 384 on OMAP2PLUS based platforms. 385 386 config DEBUG_PICOXCELL_UART 387 depends on ARCH_PICOXCELL 388 bool "Use PicoXcell UART for low-level debug" 389 help 390 Say Y here if you want kernel low-level debugging support 391 on PicoXcell based platforms. 392 393 config DEBUG_PXA_UART1 394 depends on ARCH_PXA 395 bool "Use PXA UART1 for low-level debug" 396 help 397 Say Y here if you want kernel low-level debugging support 398 on PXA UART1. 399 400 config DEBUG_REALVIEW_STD_PORT 401 bool "RealView Default UART" 402 depends on ARCH_REALVIEW 403 help 404 Say Y here if you want the debug print routines to direct 405 their output to the serial port on RealView EB, PB11MP, PBA8 406 and PBX platforms. 407 408 config DEBUG_REALVIEW_PB1176_PORT 409 bool "RealView PB1176 UART" 410 depends on MACH_REALVIEW_PB1176 411 help 412 Say Y here if you want the debug print routines to direct 413 their output to the standard serial port on the RealView 414 PB1176 platform. 415 416 config DEBUG_ROCKCHIP_UART 417 bool "Kernel low-level debugging messages via Rockchip UART" 418 depends on ARCH_ROCKCHIP 419 help 420 Say Y here if you want kernel low-level debugging support 421 on Rockchip based platforms. 422 423 config DEBUG_S3C_UART0 424 depends on PLAT_SAMSUNG 425 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 426 bool "Use S3C UART 0 for low-level debug" 427 help 428 Say Y here if you want the debug print routines to direct 429 their output to UART 0. The port must have been initialised 430 by the boot-loader before use. 431 432 The uncompressor code port configuration is now handled 433 by CONFIG_S3C_LOWLEVEL_UART_PORT. 434 435 config DEBUG_S3C_UART1 436 depends on PLAT_SAMSUNG 437 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 438 bool "Use S3C UART 1 for low-level debug" 439 help 440 Say Y here if you want the debug print routines to direct 441 their output to UART 1. The port must have been initialised 442 by the boot-loader before use. 443 444 The uncompressor code port configuration is now handled 445 by CONFIG_S3C_LOWLEVEL_UART_PORT. 446 447 config DEBUG_S3C_UART2 448 depends on PLAT_SAMSUNG 449 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 450 bool "Use S3C UART 2 for low-level debug" 451 help 452 Say Y here if you want the debug print routines to direct 453 their output to UART 2. The port must have been initialised 454 by the boot-loader before use. 455 456 The uncompressor code port configuration is now handled 457 by CONFIG_S3C_LOWLEVEL_UART_PORT. 458 459 config DEBUG_S3C_UART3 460 depends on PLAT_SAMSUNG && ARCH_EXYNOS 461 select DEBUG_EXYNOS_UART 462 bool "Use S3C UART 3 for low-level debug" 463 help 464 Say Y here if you want the debug print routines to direct 465 their output to UART 3. The port must have been initialised 466 by the boot-loader before use. 467 468 The uncompressor code port configuration is now handled 469 by CONFIG_S3C_LOWLEVEL_UART_PORT. 470 471 config DEBUG_SOCFPGA_UART 472 depends on ARCH_SOCFPGA 473 bool "Use SOCFPGA UART for low-level debug" 474 help 475 Say Y here if you want kernel low-level debugging support 476 on SOCFPGA based platforms. 477 478 config DEBUG_SUNXI_UART0 479 bool "Kernel low-level debugging messages via sunXi UART0" 480 depends on ARCH_SUNXI 481 help 482 Say Y here if you want kernel low-level debugging support 483 on Allwinner A1X based platforms on the UART0. 484 485 config DEBUG_SUNXI_UART1 486 bool "Kernel low-level debugging messages via sunXi UART1" 487 depends on ARCH_SUNXI 488 help 489 Say Y here if you want kernel low-level debugging support 490 on Allwinner A1X based platforms on the UART1. 491 492 config DEBUG_TEGRA_UART 493 depends on ARCH_TEGRA 494 bool "Use Tegra UART for low-level debug" 495 help 496 Say Y here if you want kernel low-level debugging support 497 on Tegra based platforms. 498 499 config DEBUG_SIRFPRIMA2_UART1 500 bool "Kernel low-level debugging messages via SiRFprimaII UART1" 501 depends on ARCH_PRIMA2 502 help 503 Say Y here if you want the debug print routines to direct 504 their output to the uart1 port on SiRFprimaII devices. 505 506 config DEBUG_SIRFMARCO_UART1 507 bool "Kernel low-level debugging messages via SiRFmarco UART1" 508 depends on ARCH_MARCO 509 help 510 Say Y here if you want the debug print routines to direct 511 their output to the uart1 port on SiRFmarco devices. 512 513 config DEBUG_U300_UART 514 bool "Kernel low-level debugging messages via U300 UART0" 515 depends on ARCH_U300 516 help 517 Say Y here if you want the debug print routines to direct 518 their output to the uart port on U300 devices. 519 520 config DEBUG_UX500_UART 521 depends on ARCH_U8500 522 bool "Use Ux500 UART for low-level debug" 523 help 524 Say Y here if you want kernel low-level debugging support 525 on Ux500 based platforms. 526 527 config DEBUG_VEXPRESS_UART0_DETECT 528 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 529 depends on ARCH_VEXPRESS && CPU_CP15_MMU 530 help 531 This option enables a simple heuristic which tries to determine 532 the motherboard's memory map variant (original or RS1) and then 533 choose the relevant UART0 base address. 534 535 Note that this will only work with standard A-class core tiles, 536 and may fail with non-standard SMM or custom software models. 537 538 config DEBUG_VEXPRESS_UART0_CA9 539 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 540 depends on ARCH_VEXPRESS 541 help 542 This option selects UART0 at 0x10009000. Except for custom models, 543 this applies only to the V2P-CA9 tile. 544 545 config DEBUG_VEXPRESS_UART0_RS1 546 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 547 depends on ARCH_VEXPRESS 548 help 549 This option selects UART0 at 0x1c090000. This applies to most 550 of the tiles using the RS1 memory map, including all new A-class 551 core tiles, FPGA-based SMMs and software models. 552 553 config DEBUG_VEXPRESS_UART0_CRX 554 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)" 555 depends on ARCH_VEXPRESS && !MMU 556 help 557 This option selects UART0 at 0xb0090000. This is appropriate for 558 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7 559 560 config DEBUG_VT8500_UART0 561 bool "Use UART0 on VIA/Wondermedia SoCs" 562 depends on ARCH_VT8500 563 help 564 This option selects UART0 on VIA/Wondermedia System-on-a-chip 565 devices, including VT8500, WM8505, WM8650 and WM8850. 566 567 config DEBUG_STI_UART 568 depends on ARCH_STI 569 bool "Use StiH415/416 ASC for low-level debug" 570 help 571 Say Y here if you want kernel low-level debugging support 572 on StiH415/416 based platforms like B2000, B2020. 573 It support UART2 and SBC_UART1. 574 575 If unsure, say N. 576 577 config DEBUG_LL_UART_NONE 578 bool "No low-level debugging UART" 579 depends on !ARCH_MULTIPLATFORM 580 help 581 Say Y here if your platform doesn't provide a UART option 582 below. This relies on your platform choosing the right UART 583 definition internally in order for low-level debugging to 584 work. 585 586 config DEBUG_ICEDCC 587 bool "Kernel low-level debugging via EmbeddedICE DCC channel" 588 help 589 Say Y here if you want the debug print routines to direct 590 their output to the EmbeddedICE macrocell's DCC channel using 591 co-processor 14. This is known to work on the ARM9 style ICE 592 channel and on the XScale with the PEEDI. 593 594 Note that the system will appear to hang during boot if there 595 is nothing connected to read from the DCC. 596 597 config DEBUG_SEMIHOSTING 598 bool "Kernel low-level debug output via semihosting I/O" 599 help 600 Semihosting enables code running on an ARM target to use 601 the I/O facilities on a host debugger/emulator through a 602 simple SVC call. The host debugger or emulator must have 603 semihosting enabled for the special svc call to be trapped 604 otherwise the kernel will crash. 605 606 This is known to work with OpenOCD, as well as 607 ARM's Fast Models, or any other controlling environment 608 that implements semihosting. 609 610 For more details about semihosting, please see 611 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 612 613endchoice 614 615config DEBUG_EXYNOS_UART 616 bool 617 618config DEBUG_IMX_UART_PORT 619 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ 620 DEBUG_IMX25_UART || \ 621 DEBUG_IMX21_IMX27_UART || \ 622 DEBUG_IMX31_UART || \ 623 DEBUG_IMX35_UART || \ 624 DEBUG_IMX51_UART || \ 625 DEBUG_IMX53_UART || \ 626 DEBUG_IMX6Q_UART || \ 627 DEBUG_IMX6SL_UART 628 default 1 629 depends on ARCH_MXC 630 help 631 Choose UART port on which kernel low-level debug messages 632 should be output. 633 634choice 635 prompt "Low-level debug console UART" 636 depends on DEBUG_OMAP2PLUS_UART 637 638 config DEBUG_OMAP2UART1 639 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" 640 help 641 This covers at least h4, 2430sdp, 3430sdp, 3630sdp, 642 omap3 torpedo and 3530 lv som. 643 644 config DEBUG_OMAP2UART2 645 bool "OMAP2/3/4 UART2" 646 647 config DEBUG_OMAP2UART3 648 bool "OMAP2 UART3 (n8x0)" 649 650 config DEBUG_OMAP3UART3 651 bool "OMAP3 UART3 (most omap3 boards)" 652 help 653 This covers at least cm_t3x, beagle, crane, devkit8000, 654 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, 655 and 3517evm. 656 657 config DEBUG_OMAP4UART3 658 bool "OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" 659 660 config DEBUG_OMAP3UART4 661 bool "OMAP36XX UART4" 662 663 config DEBUG_OMAP4UART4 664 bool "OMAP4/5 UART4" 665 666 config DEBUG_TI81XXUART1 667 bool "TI81XX UART1 (ti8148evm)" 668 669 config DEBUG_TI81XXUART2 670 bool "TI81XX UART2" 671 672 config DEBUG_TI81XXUART3 673 bool "TI81XX UART3 (ti8168evm)" 674 675 config DEBUG_AM33XXUART1 676 bool "AM33XX UART1" 677 678 config DEBUG_ZOOM_UART 679 bool "Zoom2/3 UART" 680endchoice 681 682choice 683 prompt "Low-level debug console UART" 684 depends on DEBUG_ROCKCHIP_UART 685 686 config DEBUG_RK29_UART0 687 bool "RK29 UART0" 688 689 config DEBUG_RK29_UART1 690 bool "RK29 UART1" 691 692 config DEBUG_RK29_UART2 693 bool "RK29 UART2" 694 695 config DEBUG_RK3X_UART0 696 bool "RK3X UART0" 697 698 config DEBUG_RK3X_UART1 699 bool "RK3X UART1" 700 701 config DEBUG_RK3X_UART2 702 bool "RK3X UART2" 703 704 config DEBUG_RK3X_UART3 705 bool "RK3X UART3" 706endchoice 707 708choice 709 prompt "Low-level debug console UART" 710 depends on DEBUG_LL && DEBUG_TEGRA_UART 711 712 config TEGRA_DEBUG_UART_AUTO_ODMDATA 713 bool "Via ODMDATA" 714 help 715 Automatically determines which UART to use for low-level debug based 716 on the ODMDATA value. This value is part of the BCT, and is written 717 to the boot memory device using nvflash, or other flashing tool. 718 When bits 19:18 are 3, then bits 17:15 indicate which UART to use; 719 0/1/2/3/4 are UART A/B/C/D/E. 720 721 config TEGRA_DEBUG_UARTA 722 bool "UART A" 723 724 config TEGRA_DEBUG_UARTB 725 bool "UART B" 726 727 config TEGRA_DEBUG_UARTC 728 bool "UART C" 729 730 config TEGRA_DEBUG_UARTD 731 bool "UART D" 732 733 config TEGRA_DEBUG_UARTE 734 bool "UART E" 735 736endchoice 737 738choice 739 prompt "Low-level debug console UART" 740 depends on DEBUG_LL && DEBUG_STI_UART 741 742 config STIH41X_DEBUG_ASC2 743 bool "ASC2 UART" 744 help 745 Say Y here if you want kernel low-level debugging support 746 on STiH415/416 based platforms like b2000, which has 747 default UART wired up to ASC2. 748 749 If unsure, say N. 750 751 config STIH41X_DEBUG_SBC_ASC1 752 bool "SBC ASC1 UART" 753 help 754 Say Y here if you want kernel low-level debugging support 755 on STiH415/416 based platforms like b2020. which has 756 default UART wired up to SBC ASC1. 757 758 If unsure, say N. 759 760endchoice 761 762config DEBUG_LL_INCLUDE 763 string 764 default "debug/bcm2835.S" if DEBUG_BCM2835 765 default "debug/cns3xxx.S" if DEBUG_CNS3XXX 766 default "debug/exynos.S" if DEBUG_EXYNOS_UART 767 default "debug/highbank.S" if DEBUG_HIGHBANK_UART 768 default "debug/icedcc.S" if DEBUG_ICEDCC 769 default "debug/imx.S" if DEBUG_IMX1_UART || \ 770 DEBUG_IMX25_UART || \ 771 DEBUG_IMX21_IMX27_UART || \ 772 DEBUG_IMX31_UART || \ 773 DEBUG_IMX35_UART || \ 774 DEBUG_IMX51_UART || \ 775 DEBUG_IMX53_UART ||\ 776 DEBUG_IMX6Q_UART || \ 777 DEBUG_IMX6SL_UART 778 default "debug/keystone.S" if DEBUG_KEYSTONE_UART0 || \ 779 DEBUG_KEYSTONE_UART1 780 default "debug/mvebu.S" if DEBUG_MVEBU_UART || \ 781 DEBUG_MVEBU_UART_ALTERNATE 782 default "debug/mxs.S" if DEBUG_IMX23_UART || DEBUG_IMX28_UART 783 default "debug/nomadik.S" if DEBUG_NOMADIK_UART 784 default "debug/nspire.S" if DEBUG_NSPIRE_CX_UART || \ 785 DEBUG_NSPIRE_CLASSIC_UART 786 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART 787 default "debug/picoxcell.S" if DEBUG_PICOXCELL_UART 788 default "debug/pxa.S" if DEBUG_PXA_UART1 || DEBUG_MMP_UART2 || \ 789 DEBUG_MMP_UART3 790 default "debug/rockchip.S" if DEBUG_ROCKCHIP_UART 791 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 792 default "debug/socfpga.S" if DEBUG_SOCFPGA_UART 793 default "debug/sti.S" if DEBUG_STI_UART 794 default "debug/sunxi.S" if DEBUG_SUNXI_UART0 || DEBUG_SUNXI_UART1 795 default "debug/tegra.S" if DEBUG_TEGRA_UART 796 default "debug/u300.S" if DEBUG_U300_UART 797 default "debug/ux500.S" if DEBUG_UX500_UART 798 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT || \ 799 DEBUG_VEXPRESS_UART0_CA9 || DEBUG_VEXPRESS_UART0_RS1 || \ 800 DEBUG_VEXPRESS_UART0_CRX 801 default "debug/vt8500.S" if DEBUG_VT8500_UART0 802 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 803 default "mach/debug-macro.S" 804 805config DEBUG_UNCOMPRESS 806 bool 807 default y if ARCH_MULTIPLATFORM && DEBUG_LL && \ 808 !DEBUG_OMAP2PLUS_UART && \ 809 !DEBUG_TEGRA_UART 810 811config UNCOMPRESS_INCLUDE 812 string 813 default "debug/uncompress.h" if ARCH_MULTIPLATFORM 814 default "mach/uncompress.h" 815 816config EARLY_PRINTK 817 bool "Early printk" 818 depends on DEBUG_LL 819 help 820 Say Y here if you want to have an early console using the 821 kernel low-level debugging functions. Add earlyprintk to your 822 kernel parameters to enable this console. 823 824config OC_ETM 825 bool "On-chip ETM and ETB" 826 depends on ARM_AMBA 827 help 828 Enables the on-chip embedded trace macrocell and embedded trace 829 buffer driver that will allow you to collect traces of the 830 kernel code. 831 832config ARM_KPROBES_TEST 833 tristate "Kprobes test module" 834 depends on KPROBES && MODULES 835 help 836 Perform tests of kprobes API and instruction set simulation. 837 838config PID_IN_CONTEXTIDR 839 bool "Write the current PID to the CONTEXTIDR register" 840 depends on CPU_COPY_V6 841 help 842 Enabling this option causes the kernel to write the current PID to 843 the PROCID field of the CONTEXTIDR register, at the expense of some 844 additional instructions during context switch. Say Y here only if you 845 are planning to use hardware trace tools with this kernel. 846 847endmenu 848