1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config ARM_PTDUMP 6 bool "Export kernel pagetable layout to userspace via debugfs" 7 depends on DEBUG_KERNEL 8 select DEBUG_FS 9 ---help--- 10 Say Y here if you want to show the kernel pagetable layout in a 11 debugfs file. This information is only useful for kernel developers 12 who are working in architecture specific areas of the kernel. 13 It is probably not a good idea to enable this feature in a production 14 kernel. 15 If in doubt, say "N" 16 17config STRICT_DEVMEM 18 bool "Filter access to /dev/mem" 19 depends on MMU 20 ---help--- 21 If this option is disabled, you allow userspace (root) access to all 22 of memory, including kernel and userspace memory. Accidental 23 access to this is obviously disastrous, but specific access can 24 be used by people debugging the kernel. 25 26 If this option is switched on, the /dev/mem file only allows 27 userspace access to memory mapped peripherals. 28 29 If in doubt, say Y. 30 31# RMK wants arm kernels compiled with frame pointers or stack unwinding. 32# If you know what you are doing and are willing to live without stack 33# traces, you can get a slightly smaller kernel by setting this option to 34# n, but then RMK will have to kill you ;). 35config FRAME_POINTER 36 bool 37 depends on !THUMB2_KERNEL 38 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER 39 help 40 If you say N here, the resulting kernel will be slightly smaller and 41 faster. However, if neither FRAME_POINTER nor ARM_UNWIND are enabled, 42 when a problem occurs with the kernel, the information that is 43 reported is severely limited. 44 45config ARM_UNWIND 46 bool "Enable stack unwinding support (EXPERIMENTAL)" 47 depends on AEABI 48 default y 49 help 50 This option enables stack unwinding support in the kernel 51 using the information automatically generated by the 52 compiler. The resulting kernel image is slightly bigger but 53 the performance is not affected. Currently, this feature 54 only works with EABI compilers. If unsure say Y. 55 56config OLD_MCOUNT 57 bool 58 depends on FUNCTION_TRACER && FRAME_POINTER 59 default y 60 61config DEBUG_USER 62 bool "Verbose user fault messages" 63 help 64 When a user program crashes due to an exception, the kernel can 65 print a brief message explaining what the problem was. This is 66 sometimes helpful for debugging but serves no purpose on a 67 production system. Most people should say N here. 68 69 In addition, you need to pass user_debug=N on the kernel command 70 line to enable this feature. N consists of the sum of: 71 72 1 - undefined instruction events 73 2 - system calls 74 4 - invalid data aborts 75 8 - SIGSEGV faults 76 16 - SIGBUS faults 77 78# These options are only for real kernel hackers who want to get their hands dirty. 79config DEBUG_LL 80 bool "Kernel low-level debugging functions (read help!)" 81 depends on DEBUG_KERNEL 82 help 83 Say Y here to include definitions of printascii, printch, printhex 84 in the kernel. This is helpful if you are debugging code that 85 executes before the console is initialized. 86 87 Note that selecting this option will limit the kernel to a single 88 UART definition, as specified below. Attempting to boot the kernel 89 image on a different platform *will not work*, so this option should 90 not be enabled for kernels that are intended to be portable. 91 92choice 93 prompt "Kernel low-level debugging port" 94 depends on DEBUG_LL 95 96 config AT91_DEBUG_LL_DBGU0 97 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10 and 9rl" 98 depends on HAVE_AT91_DBGU0 99 100 config AT91_DEBUG_LL_DBGU1 101 bool "Kernel low-level debugging on 9263 and 9g45" 102 depends on HAVE_AT91_DBGU1 103 104 config DEBUG_BCM2835 105 bool "Kernel low-level debugging on BCM2835 PL011 UART" 106 depends on ARCH_BCM2835 107 select DEBUG_UART_PL01X 108 109 config DEBUG_BCM_5301X 110 bool "Kernel low-level debugging on BCM5301X UART1" 111 depends on ARCH_BCM_5301X 112 select DEBUG_UART_PL01X 113 114 config DEBUG_BCM_KONA_UART 115 bool "Kernel low-level debugging messages via BCM KONA UART" 116 depends on ARCH_BCM_MOBILE 117 select DEBUG_UART_8250 118 help 119 Say Y here if you want kernel low-level debugging support 120 on Broadcom SoC platforms. 121 This low level debug works for Broadcom 122 mobile SoCs in the Kona family of chips (e.g. bcm28155, 123 bcm11351, etc...) 124 125 config DEBUG_BERLIN_UART 126 bool "Marvell Berlin SoC Debug UART" 127 depends on ARCH_BERLIN 128 select DEBUG_UART_8250 129 help 130 Say Y here if you want kernel low-level debugging support 131 on Marvell Berlin SoC based platforms. 132 133 config DEBUG_CLPS711X_UART1 134 bool "Kernel low-level debugging messages via UART1" 135 depends on ARCH_CLPS711X 136 help 137 Say Y here if you want the debug print routines to direct 138 their output to the first serial port on these devices. 139 140 config DEBUG_CLPS711X_UART2 141 bool "Kernel low-level debugging messages via UART2" 142 depends on ARCH_CLPS711X 143 help 144 Say Y here if you want the debug print routines to direct 145 their output to the second serial port on these devices. 146 147 config DEBUG_CNS3XXX 148 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx" 149 depends on ARCH_CNS3XXX 150 select DEBUG_UART_PL01X 151 help 152 Say Y here if you want the debug print routines to direct 153 their output to the CNS3xxx UART0. 154 155 config DEBUG_DAVINCI_DA8XX_UART1 156 bool "Kernel low-level debugging on DaVinci DA8XX using UART1" 157 depends on ARCH_DAVINCI_DA8XX 158 select DEBUG_UART_8250 159 help 160 Say Y here if you want the debug print routines to direct 161 their output to UART1 serial port on DaVinci DA8XX devices. 162 163 config DEBUG_DAVINCI_DA8XX_UART2 164 bool "Kernel low-level debugging on DaVinci DA8XX using UART2" 165 depends on ARCH_DAVINCI_DA8XX 166 select DEBUG_UART_8250 167 help 168 Say Y here if you want the debug print routines to direct 169 their output to UART2 serial port on DaVinci DA8XX devices. 170 171 config DEBUG_DAVINCI_DMx_UART0 172 bool "Kernel low-level debugging on DaVinci DMx using UART0" 173 depends on ARCH_DAVINCI_DMx 174 select DEBUG_UART_8250 175 help 176 Say Y here if you want the debug print routines to direct 177 their output to UART0 serial port on DaVinci DMx devices. 178 179 config DEBUG_ZYNQ_UART0 180 bool "Kernel low-level debugging on Xilinx Zynq using UART0" 181 depends on ARCH_ZYNQ 182 help 183 Say Y here if you want the debug print routines to direct 184 their output to UART0 on the Zynq platform. 185 186 config DEBUG_ZYNQ_UART1 187 bool "Kernel low-level debugging on Xilinx Zynq using UART1" 188 depends on ARCH_ZYNQ 189 help 190 Say Y here if you want the debug print routines to direct 191 their output to UART1 on the Zynq platform. 192 193 If you have a ZC702 board and want early boot messages to 194 appear on the USB serial adaptor, select this option. 195 196 config DEBUG_DC21285_PORT 197 bool "Kernel low-level debugging messages via footbridge serial port" 198 depends on FOOTBRIDGE 199 help 200 Say Y here if you want the debug print routines to direct 201 their output to the serial port in the DC21285 (Footbridge). 202 203 config DEBUG_FOOTBRIDGE_COM1 204 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1" 205 depends on FOOTBRIDGE 206 help 207 Say Y here if you want the debug print routines to direct 208 their output to the 8250 at PCI COM1. 209 210 config DEBUG_HI3620_UART 211 bool "Hisilicon HI3620 Debug UART" 212 depends on ARCH_HI3xxx 213 select DEBUG_UART_PL01X 214 help 215 Say Y here if you want kernel low-level debugging support 216 on HI3620 UART. 217 218 config DEBUG_HI3716_UART 219 bool "Hisilicon Hi3716 Debug UART" 220 depends on ARCH_HI3xxx 221 select DEBUG_UART_PL01X 222 help 223 Say Y here if you want kernel low-level debugging support 224 on HI3716 UART. 225 226 config DEBUG_HIX5HD2_UART 227 bool "Hisilicon Hix5hd2 Debug UART" 228 depends on ARCH_HIX5HD2 229 select DEBUG_UART_PL01X 230 help 231 Say Y here if you want kernel low-level debugging support 232 on Hix5hd2 UART. 233 234 config DEBUG_HIGHBANK_UART 235 bool "Kernel low-level debugging messages via Highbank UART" 236 depends on ARCH_HIGHBANK 237 select DEBUG_UART_PL01X 238 help 239 Say Y here if you want the debug print routines to direct 240 their output to the UART on Highbank based devices. 241 242 config DEBUG_IMX1_UART 243 bool "i.MX1 Debug UART" 244 depends on SOC_IMX1 245 help 246 Say Y here if you want kernel low-level debugging support 247 on i.MX1. 248 249 config DEBUG_IMX23_UART 250 bool "i.MX23 Debug UART" 251 depends on SOC_IMX23 252 select DEBUG_UART_PL01X 253 help 254 Say Y here if you want kernel low-level debugging support 255 on i.MX23. 256 257 config DEBUG_IMX25_UART 258 bool "i.MX25 Debug UART" 259 depends on SOC_IMX25 260 help 261 Say Y here if you want kernel low-level debugging support 262 on i.MX25. 263 264 config DEBUG_IMX21_IMX27_UART 265 bool "i.MX21 and i.MX27 Debug UART" 266 depends on SOC_IMX21 || SOC_IMX27 267 help 268 Say Y here if you want kernel low-level debugging support 269 on i.MX21 or i.MX27. 270 271 config DEBUG_IMX28_UART 272 bool "i.MX28 Debug UART" 273 depends on SOC_IMX28 274 select DEBUG_UART_PL01X 275 help 276 Say Y here if you want kernel low-level debugging support 277 on i.MX28. 278 279 config DEBUG_IMX31_UART 280 bool "i.MX31 Debug UART" 281 depends on SOC_IMX31 282 help 283 Say Y here if you want kernel low-level debugging support 284 on i.MX31. 285 286 config DEBUG_IMX35_UART 287 bool "i.MX35 Debug UART" 288 depends on SOC_IMX35 289 help 290 Say Y here if you want kernel low-level debugging support 291 on i.MX35. 292 293 config DEBUG_IMX50_UART 294 bool "i.MX50 Debug UART" 295 depends on SOC_IMX50 296 help 297 Say Y here if you want kernel low-level debugging support 298 on i.MX50. 299 300 config DEBUG_IMX51_UART 301 bool "i.MX51 Debug UART" 302 depends on SOC_IMX51 303 help 304 Say Y here if you want kernel low-level debugging support 305 on i.MX51. 306 307 config DEBUG_IMX53_UART 308 bool "i.MX53 Debug UART" 309 depends on SOC_IMX53 310 help 311 Say Y here if you want kernel low-level debugging support 312 on i.MX53. 313 314 config DEBUG_IMX6Q_UART 315 bool "i.MX6Q/DL Debug UART" 316 depends on SOC_IMX6Q 317 help 318 Say Y here if you want kernel low-level debugging support 319 on i.MX6Q/DL. 320 321 config DEBUG_IMX6SL_UART 322 bool "i.MX6SL Debug UART" 323 depends on SOC_IMX6SL 324 help 325 Say Y here if you want kernel low-level debugging support 326 on i.MX6SL. 327 328 config DEBUG_IMX6SX_UART 329 bool "i.MX6SX Debug UART" 330 depends on SOC_IMX6SX 331 help 332 Say Y here if you want kernel low-level debugging support 333 on i.MX6SX. 334 335 config DEBUG_KEYSTONE_UART0 336 bool "Kernel low-level debugging on KEYSTONE2 using UART0" 337 depends on ARCH_KEYSTONE 338 select DEBUG_UART_8250 339 help 340 Say Y here if you want the debug print routines to direct 341 their output to UART0 serial port on KEYSTONE2 devices. 342 343 config DEBUG_KEYSTONE_UART1 344 bool "Kernel low-level debugging on KEYSTONE2 using UART1" 345 depends on ARCH_KEYSTONE 346 select DEBUG_UART_8250 347 help 348 Say Y here if you want the debug print routines to direct 349 their output to UART1 serial port on KEYSTONE2 devices. 350 351 config DEBUG_MMP_UART2 352 bool "Kernel low-level debugging message via MMP UART2" 353 depends on ARCH_MMP 354 select DEBUG_UART_8250 355 help 356 Say Y here if you want kernel low-level debugging support 357 on MMP UART2. 358 359 config DEBUG_MMP_UART3 360 bool "Kernel low-level debugging message via MMP UART3" 361 depends on ARCH_MMP 362 select DEBUG_UART_8250 363 help 364 Say Y here if you want kernel low-level debugging support 365 on MMP UART3. 366 367 config DEBUG_MSM_UART 368 bool "Kernel low-level debugging messages via MSM UART" 369 depends on ARCH_MSM 370 help 371 Say Y here if you want the debug print routines to direct 372 their output to the serial port on MSM devices. 373 374 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE # 375 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1 376 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2 377 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3 378 379 MSM7X30 0xaca00000 0xe1000000 UART1 380 MSM7X30 0xacb00000 0xe1000000 UART2 381 MSM7X30 0xacc00000 0xe1000000 UART3 382 383 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration 384 options based on your needs. 385 386 config DEBUG_QCOM_UARTDM 387 bool "Kernel low-level debugging messages via QCOM UARTDM" 388 depends on ARCH_QCOM 389 help 390 Say Y here if you want the debug print routines to direct 391 their output to the serial port on Qualcomm devices. 392 393 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE 394 APQ8084 0xf995e000 0xfa75e000 395 MSM8X60 0x19c40000 0xf0040000 396 MSM8960 0x16440000 0xf0040000 397 MSM8974 0xf991e000 0xfa71e000 398 399 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration 400 options based on your needs. 401 402 config DEBUG_MVEBU_UART 403 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)" 404 depends on ARCH_MVEBU 405 select DEBUG_UART_8250 406 help 407 Say Y here if you want kernel low-level debugging support 408 on MVEBU based platforms. 409 410 This option should be used with the old bootloaders 411 that left the internal registers mapped at 412 0xd0000000. As of today, this is the case on 413 platforms such as the Globalscale Mirabox or the 414 Plathome OpenBlocks AX3, when using the original 415 bootloader. 416 417 If the wrong DEBUG_MVEBU_UART* option is selected, 418 when u-boot hands over to the kernel, the system 419 silently crashes, with no serial output at all. 420 421 config DEBUG_MVEBU_UART_ALTERNATE 422 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)" 423 depends on ARCH_MVEBU 424 select DEBUG_UART_8250 425 help 426 Say Y here if you want kernel low-level debugging support 427 on MVEBU based platforms. 428 429 This option should be used with the new bootloaders 430 that remap the internal registers at 0xf1000000. 431 432 If the wrong DEBUG_MVEBU_UART* option is selected, 433 when u-boot hands over to the kernel, the system 434 silently crashes, with no serial output at all. 435 436 config DEBUG_VF_UART 437 bool "Vybrid UART" 438 depends on SOC_VF610 439 help 440 Say Y here if you want kernel low-level debugging support 441 on Vybrid based platforms. 442 443 config DEBUG_NOMADIK_UART 444 bool "Kernel low-level debugging messages via NOMADIK UART" 445 depends on ARCH_NOMADIK 446 select DEBUG_UART_PL01X 447 help 448 Say Y here if you want kernel low-level debugging support 449 on NOMADIK based platforms. 450 451 config DEBUG_NSPIRE_CLASSIC_UART 452 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART" 453 depends on ARCH_NSPIRE 454 select DEBUG_UART_8250 455 help 456 Say Y here if you want kernel low-level debugging support 457 on TI-NSPIRE classic models. 458 459 config DEBUG_NSPIRE_CX_UART 460 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART" 461 depends on ARCH_NSPIRE 462 select DEBUG_UART_PL01X 463 help 464 Say Y here if you want kernel low-level debugging support 465 on TI-NSPIRE CX models. 466 467 config DEBUG_OMAP2UART1 468 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)" 469 depends on ARCH_OMAP2PLUS 470 select DEBUG_OMAP2PLUS_UART 471 help 472 This covers at least h4, 2430sdp, 3430sdp, 3630sdp, 473 omap3 torpedo and 3530 lv som. 474 475 config DEBUG_OMAP2UART2 476 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2" 477 depends on ARCH_OMAP2PLUS 478 select DEBUG_OMAP2PLUS_UART 479 480 config DEBUG_OMAP2UART3 481 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)" 482 depends on ARCH_OMAP2PLUS 483 select DEBUG_OMAP2PLUS_UART 484 485 config DEBUG_OMAP3UART3 486 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)" 487 depends on ARCH_OMAP2PLUS 488 select DEBUG_OMAP2PLUS_UART 489 help 490 This covers at least cm_t3x, beagle, crane, devkit8000, 491 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook, 492 and 3517evm. 493 494 config DEBUG_OMAP4UART3 495 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)" 496 depends on ARCH_OMAP2PLUS 497 select DEBUG_OMAP2PLUS_UART 498 499 config DEBUG_OMAP3UART4 500 bool "Kernel low-level debugging messages via OMAP36XX UART4" 501 depends on ARCH_OMAP2PLUS 502 select DEBUG_OMAP2PLUS_UART 503 504 config DEBUG_OMAP4UART4 505 bool "Kernel low-level debugging messages via OMAP4/5 UART4" 506 depends on ARCH_OMAP2PLUS 507 select DEBUG_OMAP2PLUS_UART 508 509 config DEBUG_TI81XXUART1 510 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)" 511 depends on ARCH_OMAP2PLUS 512 select DEBUG_OMAP2PLUS_UART 513 514 config DEBUG_TI81XXUART2 515 bool "Kernel low-level debugging messages via TI81XX UART2" 516 depends on ARCH_OMAP2PLUS 517 select DEBUG_OMAP2PLUS_UART 518 519 config DEBUG_TI81XXUART3 520 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)" 521 depends on ARCH_OMAP2PLUS 522 select DEBUG_OMAP2PLUS_UART 523 524 config DEBUG_AM33XXUART1 525 bool "Kernel low-level debugging messages via AM33XX UART1" 526 depends on ARCH_OMAP2PLUS 527 select DEBUG_OMAP2PLUS_UART 528 529 config DEBUG_ZOOM_UART 530 bool "Kernel low-level debugging messages via Zoom2/3 UART" 531 depends on ARCH_OMAP2PLUS 532 select DEBUG_OMAP2PLUS_UART 533 534 config DEBUG_PICOXCELL_UART 535 depends on ARCH_PICOXCELL 536 bool "Use PicoXcell UART for low-level debug" 537 select DEBUG_UART_8250 538 help 539 Say Y here if you want kernel low-level debugging support 540 on PicoXcell based platforms. 541 542 config DEBUG_PXA_UART1 543 depends on ARCH_PXA 544 bool "Use PXA UART1 for low-level debug" 545 select DEBUG_UART_8250 546 help 547 Say Y here if you want kernel low-level debugging support 548 on PXA UART1. 549 550 config DEBUG_REALVIEW_STD_PORT 551 bool "RealView Default UART" 552 depends on ARCH_REALVIEW 553 select DEBUG_UART_PL01X 554 help 555 Say Y here if you want the debug print routines to direct 556 their output to the serial port on RealView EB, PB11MP, PBA8 557 and PBX platforms. 558 559 config DEBUG_REALVIEW_PB1176_PORT 560 bool "RealView PB1176 UART" 561 depends on MACH_REALVIEW_PB1176 562 select DEBUG_UART_PL01X 563 help 564 Say Y here if you want the debug print routines to direct 565 their output to the standard serial port on the RealView 566 PB1176 platform. 567 568 config DEBUG_RK29_UART0 569 bool "Kernel low-level debugging messages via Rockchip RK29 UART0" 570 depends on ARCH_ROCKCHIP 571 select DEBUG_UART_8250 572 help 573 Say Y here if you want kernel low-level debugging support 574 on Rockchip based platforms. 575 576 config DEBUG_RK29_UART1 577 bool "Kernel low-level debugging messages via Rockchip RK29 UART1" 578 depends on ARCH_ROCKCHIP 579 select DEBUG_UART_8250 580 help 581 Say Y here if you want kernel low-level debugging support 582 on Rockchip based platforms. 583 584 config DEBUG_RK29_UART2 585 bool "Kernel low-level debugging messages via Rockchip RK29 UART2" 586 depends on ARCH_ROCKCHIP 587 select DEBUG_UART_8250 588 help 589 Say Y here if you want kernel low-level debugging support 590 on Rockchip based platforms. 591 592 config DEBUG_RK3X_UART0 593 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0" 594 depends on ARCH_ROCKCHIP 595 select DEBUG_UART_8250 596 help 597 Say Y here if you want kernel low-level debugging support 598 on Rockchip based platforms. 599 600 config DEBUG_RK3X_UART1 601 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1" 602 depends on ARCH_ROCKCHIP 603 select DEBUG_UART_8250 604 help 605 Say Y here if you want kernel low-level debugging support 606 on Rockchip based platforms. 607 608 config DEBUG_RK3X_UART2 609 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2" 610 depends on ARCH_ROCKCHIP 611 select DEBUG_UART_8250 612 help 613 Say Y here if you want kernel low-level debugging support 614 on Rockchip based platforms. 615 616 config DEBUG_RK3X_UART3 617 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3" 618 depends on ARCH_ROCKCHIP 619 select DEBUG_UART_8250 620 help 621 Say Y here if you want kernel low-level debugging support 622 on Rockchip based platforms. 623 624 config DEBUG_RK32_UART2 625 bool "Kernel low-level debugging messages via Rockchip RK32 UART2" 626 depends on ARCH_ROCKCHIP 627 select DEBUG_UART_8250 628 help 629 Say Y here if you want kernel low-level debugging support 630 on Rockchip RK32xx based platforms. 631 632 config DEBUG_S3C_UART0 633 depends on PLAT_SAMSUNG 634 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 635 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 636 select DEBUG_S5PV210_UART if ARCH_S5PV210 637 bool "Use Samsung S3C UART 0 for low-level debug" 638 help 639 Say Y here if you want the debug print routines to direct 640 their output to UART 0. The port must have been initialised 641 by the boot-loader before use. 642 643 config DEBUG_S3C_UART1 644 depends on PLAT_SAMSUNG 645 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 646 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 647 select DEBUG_S5PV210_UART if ARCH_S5PV210 648 bool "Use Samsung S3C UART 1 for low-level debug" 649 help 650 Say Y here if you want the debug print routines to direct 651 their output to UART 1. The port must have been initialised 652 by the boot-loader before use. 653 654 config DEBUG_S3C_UART2 655 depends on PLAT_SAMSUNG 656 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 657 select DEBUG_S3C24XX_UART if ARCH_S3C24XX 658 select DEBUG_S5PV210_UART if ARCH_S5PV210 659 bool "Use Samsung S3C UART 2 for low-level debug" 660 help 661 Say Y here if you want the debug print routines to direct 662 their output to UART 2. The port must have been initialised 663 by the boot-loader before use. 664 665 config DEBUG_S3C_UART3 666 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210) 667 select DEBUG_EXYNOS_UART if ARCH_EXYNOS 668 select DEBUG_S5PV210_UART if ARCH_S5PV210 669 bool "Use Samsung S3C UART 3 for low-level debug" 670 help 671 Say Y here if you want the debug print routines to direct 672 their output to UART 3. The port must have been initialised 673 by the boot-loader before use. 674 675 config DEBUG_S3C2410_UART0 676 depends on ARCH_S3C24XX 677 select DEBUG_S3C2410_UART 678 bool "Use S3C2410/S3C2412 UART 0 for low-level debug" 679 help 680 Say Y here if you want the debug print routines to direct 681 their output to UART 0. The port must have been initialised 682 by the boot-loader before use. 683 684 config DEBUG_S3C2410_UART1 685 depends on ARCH_S3C24XX 686 select DEBUG_S3C2410_UART 687 bool "Use S3C2410/S3C2412 UART 1 for low-level debug" 688 help 689 Say Y here if you want the debug print routines to direct 690 their output to UART 1. The port must have been initialised 691 by the boot-loader before use. 692 693 config DEBUG_S3C2410_UART2 694 depends on ARCH_S3C24XX 695 select DEBUG_S3C2410_UART 696 bool "Use S3C2410/S3C2412 UART 2 for low-level debug" 697 help 698 Say Y here if you want the debug print routines to direct 699 their output to UART 2. The port must have been initialised 700 by the boot-loader before use. 701 702 config DEBUG_SOCFPGA_UART 703 depends on ARCH_SOCFPGA 704 bool "Use SOCFPGA UART for low-level debug" 705 select DEBUG_UART_8250 706 help 707 Say Y here if you want kernel low-level debugging support 708 on SOCFPGA based platforms. 709 710 config DEBUG_SUNXI_UART0 711 bool "Kernel low-level debugging messages via sunXi UART0" 712 depends on ARCH_SUNXI 713 select DEBUG_UART_8250 714 help 715 Say Y here if you want kernel low-level debugging support 716 on Allwinner A1X based platforms on the UART0. 717 718 config DEBUG_SUNXI_UART1 719 bool "Kernel low-level debugging messages via sunXi UART1" 720 depends on ARCH_SUNXI 721 select DEBUG_UART_8250 722 help 723 Say Y here if you want kernel low-level debugging support 724 on Allwinner A1X based platforms on the UART1. 725 726 config DEBUG_SUNXI_R_UART 727 bool "Kernel low-level debugging messages via sunXi R_UART" 728 depends on MACH_SUN6I || MACH_SUN8I 729 select DEBUG_UART_8250 730 help 731 Say Y here if you want kernel low-level debugging support 732 on Allwinner A31/A23 based platforms on the R_UART. 733 734 config TEGRA_DEBUG_UART_AUTO_ODMDATA 735 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA" 736 depends on ARCH_TEGRA 737 select DEBUG_TEGRA_UART 738 help 739 Automatically determines which UART to use for low-level 740 debug based on the ODMDATA value. This value is part of 741 the BCT, and is written to the boot memory device using 742 nvflash, or other flashing tool. When bits 19:18 are 3, 743 then bits 17:15 indicate which UART to use; 0/1/2/3/4 744 are UART A/B/C/D/E. 745 746 config TEGRA_DEBUG_UARTA 747 bool "Kernel low-level debugging messages via Tegra UART A" 748 depends on ARCH_TEGRA 749 select DEBUG_TEGRA_UART 750 help 751 Say Y here if you want kernel low-level debugging support 752 on Tegra based platforms. 753 754 config TEGRA_DEBUG_UARTB 755 bool "Kernel low-level debugging messages via Tegra UART B" 756 depends on ARCH_TEGRA 757 select DEBUG_TEGRA_UART 758 help 759 Say Y here if you want kernel low-level debugging support 760 on Tegra based platforms. 761 762 config TEGRA_DEBUG_UARTC 763 bool "Kernel low-level debugging messages via Tegra UART C" 764 depends on ARCH_TEGRA 765 select DEBUG_TEGRA_UART 766 help 767 Say Y here if you want kernel low-level debugging support 768 on Tegra based platforms. 769 770 config TEGRA_DEBUG_UARTD 771 bool "Kernel low-level debugging messages via Tegra UART D" 772 depends on ARCH_TEGRA 773 select DEBUG_TEGRA_UART 774 help 775 Say Y here if you want kernel low-level debugging support 776 on Tegra based platforms. 777 778 config TEGRA_DEBUG_UARTE 779 bool "Kernel low-level debugging messages via Tegra UART E" 780 depends on ARCH_TEGRA 781 select DEBUG_TEGRA_UART 782 help 783 Say Y here if you want kernel low-level debugging support 784 on Tegra based platforms. 785 786 config DEBUG_SIRFPRIMA2_UART1 787 bool "Kernel low-level debugging messages via SiRFprimaII UART1" 788 depends on ARCH_PRIMA2 789 help 790 Say Y here if you want the debug print routines to direct 791 their output to the uart1 port on SiRFprimaII devices. 792 793 config DEBUG_SIRFMARCO_UART1 794 bool "Kernel low-level debugging messages via SiRFmarco UART1" 795 depends on ARCH_MARCO 796 help 797 Say Y here if you want the debug print routines to direct 798 their output to the uart1 port on SiRFmarco devices. 799 800 config STIH41X_DEBUG_ASC2 801 bool "Use StiH415/416 ASC2 UART for low-level debug" 802 depends on ARCH_STI 803 select DEBUG_STI_UART 804 help 805 Say Y here if you want kernel low-level debugging support 806 on STiH415/416 based platforms like b2000, which has 807 default UART wired up to ASC2. 808 809 If unsure, say N. 810 811 config STIH41X_DEBUG_SBC_ASC1 812 bool "Use StiH415/416 SBC ASC1 UART for low-level debug" 813 depends on ARCH_STI 814 select DEBUG_STI_UART 815 help 816 Say Y here if you want kernel low-level debugging support 817 on STiH415/416 based platforms like b2020. which has 818 default UART wired up to SBC ASC1. 819 820 If unsure, say N. 821 822 config DEBUG_U300_UART 823 bool "Kernel low-level debugging messages via U300 UART0" 824 depends on ARCH_U300 825 select DEBUG_UART_PL01X 826 help 827 Say Y here if you want the debug print routines to direct 828 their output to the uart port on U300 devices. 829 830 config DEBUG_UX500_UART 831 depends on ARCH_U8500 832 bool "Use Ux500 UART for low-level debug" 833 help 834 Say Y here if you want kernel low-level debugging support 835 on Ux500 based platforms. 836 837 config DEBUG_VEXPRESS_UART0_DETECT 838 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles" 839 depends on ARCH_VEXPRESS && CPU_CP15_MMU 840 help 841 This option enables a simple heuristic which tries to determine 842 the motherboard's memory map variant (original or RS1) and then 843 choose the relevant UART0 base address. 844 845 Note that this will only work with standard A-class core tiles, 846 and may fail with non-standard SMM or custom software models. 847 848 config DEBUG_VEXPRESS_UART0_CA9 849 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)" 850 depends on ARCH_VEXPRESS 851 select DEBUG_UART_PL01X 852 help 853 This option selects UART0 at 0x10009000. Except for custom models, 854 this applies only to the V2P-CA9 tile. 855 856 config DEBUG_VEXPRESS_UART0_RS1 857 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)" 858 depends on ARCH_VEXPRESS 859 select DEBUG_UART_PL01X 860 help 861 This option selects UART0 at 0x1c090000. This applies to most 862 of the tiles using the RS1 memory map, including all new A-class 863 core tiles, FPGA-based SMMs and software models. 864 865 config DEBUG_VEXPRESS_UART0_CRX 866 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)" 867 depends on ARCH_VEXPRESS && !MMU 868 select DEBUG_UART_PL01X 869 help 870 This option selects UART0 at 0xb0090000. This is appropriate for 871 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7 872 873 config DEBUG_VT8500_UART0 874 bool "Use UART0 on VIA/Wondermedia SoCs" 875 depends on ARCH_VT8500 876 help 877 This option selects UART0 on VIA/Wondermedia System-on-a-chip 878 devices, including VT8500, WM8505, WM8650 and WM8850. 879 880 config DEBUG_LL_UART_NONE 881 bool "No low-level debugging UART" 882 depends on !ARCH_MULTIPLATFORM 883 help 884 Say Y here if your platform doesn't provide a UART option 885 above. This relies on your platform choosing the right UART 886 definition internally in order for low-level debugging to 887 work. 888 889 config DEBUG_ICEDCC 890 bool "Kernel low-level debugging via EmbeddedICE DCC channel" 891 help 892 Say Y here if you want the debug print routines to direct 893 their output to the EmbeddedICE macrocell's DCC channel using 894 co-processor 14. This is known to work on the ARM9 style ICE 895 channel and on the XScale with the PEEDI. 896 897 Note that the system will appear to hang during boot if there 898 is nothing connected to read from the DCC. 899 900 config DEBUG_SEMIHOSTING 901 bool "Kernel low-level debug output via semihosting I/O" 902 help 903 Semihosting enables code running on an ARM target to use 904 the I/O facilities on a host debugger/emulator through a 905 simple SVC call. The host debugger or emulator must have 906 semihosting enabled for the special svc call to be trapped 907 otherwise the kernel will crash. 908 909 This is known to work with OpenOCD, as well as 910 ARM's Fast Models, or any other controlling environment 911 that implements semihosting. 912 913 For more details about semihosting, please see 914 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd. 915 916 config DEBUG_LL_UART_8250 917 bool "Kernel low-level debugging via 8250 UART" 918 help 919 Say Y here if you wish the debug print routes to direct 920 their output to an 8250 UART. You can use this option 921 to provide the parameters for the 8250 UART rather than 922 selecting one of the platform specific options above if 923 you know the parameters for the port. 924 925 This option is preferred over the platform specific 926 options; the platform specific options are deprecated 927 and will be soon removed. 928 929 config DEBUG_LL_UART_EFM32 930 bool "Kernel low-level debugging via efm32 UART" 931 depends on ARCH_EFM32 932 help 933 Say Y here if you want the debug print routines to direct 934 their output to an UART or USART port on efm32 based 935 machines. Use the following addresses for DEBUG_UART_PHYS: 936 937 0x4000c000 | USART0 938 0x4000c400 | USART1 939 0x4000c800 | USART2 940 0x4000e000 | UART0 941 0x4000e400 | UART1 942 943 config DEBUG_LL_UART_PL01X 944 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART" 945 help 946 Say Y here if you wish the debug print routes to direct 947 their output to a PL01x Primecell UART. You can use 948 this option to provide the parameters for the UART 949 rather than selecting one of the platform specific 950 options above if you know the parameters for the port. 951 952 This option is preferred over the platform specific 953 options; the platform specific options are deprecated 954 and will be soon removed. 955 956endchoice 957 958config DEBUG_EXYNOS_UART 959 bool 960 961config DEBUG_S3C2410_UART 962 bool 963 select DEBUG_S3C24XX_UART 964 965config DEBUG_S3C24XX_UART 966 bool 967 968config DEBUG_S5PV210_UART 969 bool 970 971config DEBUG_OMAP2PLUS_UART 972 bool 973 depends on ARCH_OMAP2PLUS 974 975config DEBUG_IMX_UART_PORT 976 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \ 977 DEBUG_IMX25_UART || \ 978 DEBUG_IMX21_IMX27_UART || \ 979 DEBUG_IMX31_UART || \ 980 DEBUG_IMX35_UART || \ 981 DEBUG_IMX50_UART || \ 982 DEBUG_IMX51_UART || \ 983 DEBUG_IMX53_UART || \ 984 DEBUG_IMX6Q_UART || \ 985 DEBUG_IMX6SL_UART || \ 986 DEBUG_IMX6SX_UART 987 default 1 988 depends on ARCH_MXC 989 help 990 Choose UART port on which kernel low-level debug messages 991 should be output. 992 993config DEBUG_VF_UART_PORT 994 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART 995 default 1 996 range 0 3 997 depends on SOC_VF610 998 help 999 Choose UART port on which kernel low-level debug messages 1000 should be output. 1001 1002config DEBUG_TEGRA_UART 1003 bool 1004 depends on ARCH_TEGRA 1005 1006config DEBUG_STI_UART 1007 bool 1008 depends on ARCH_STI 1009 1010config DEBUG_LL_INCLUDE 1011 string 1012 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250 1013 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2 1014 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X 1015 default "debug/exynos.S" if DEBUG_EXYNOS_UART 1016 default "debug/efm32.S" if DEBUG_LL_UART_EFM32 1017 default "debug/icedcc.S" if DEBUG_ICEDCC 1018 default "debug/imx.S" if DEBUG_IMX1_UART || \ 1019 DEBUG_IMX25_UART || \ 1020 DEBUG_IMX21_IMX27_UART || \ 1021 DEBUG_IMX31_UART || \ 1022 DEBUG_IMX35_UART || \ 1023 DEBUG_IMX50_UART || \ 1024 DEBUG_IMX51_UART || \ 1025 DEBUG_IMX53_UART ||\ 1026 DEBUG_IMX6Q_UART || \ 1027 DEBUG_IMX6SL_UART || \ 1028 DEBUG_IMX6SX_UART 1029 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM 1030 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART 1031 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART 1032 default "debug/s5pv210.S" if DEBUG_S5PV210_UART 1033 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 1034 default "debug/sti.S" if DEBUG_STI_UART 1035 default "debug/tegra.S" if DEBUG_TEGRA_UART 1036 default "debug/ux500.S" if DEBUG_UX500_UART 1037 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT 1038 default "debug/vf.S" if DEBUG_VF_UART 1039 default "debug/vt8500.S" if DEBUG_VT8500_UART0 1040 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1 1041 default "mach/debug-macro.S" 1042 1043# Compatibility options for PL01x 1044config DEBUG_UART_PL01X 1045 def_bool ARCH_EP93XX || \ 1046 ARCH_INTEGRATOR || \ 1047 ARCH_SPEAR3XX || \ 1048 ARCH_SPEAR6XX || \ 1049 ARCH_SPEAR13XX || \ 1050 ARCH_VERSATILE 1051 1052# Compatibility options for 8250 1053config DEBUG_UART_8250 1054 def_bool ARCH_DOVE || ARCH_EBSA110 || \ 1055 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \ 1056 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \ 1057 ARCH_IOP33X || ARCH_IXP4XX || \ 1058 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC 1059 1060config DEBUG_UART_PHYS 1061 hex "Physical base address of debug UART" 1062 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0 1063 default 0x01c28000 if DEBUG_SUNXI_UART0 1064 default 0x01c28400 if DEBUG_SUNXI_UART1 1065 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1 1066 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2 1067 default 0x01f02800 if DEBUG_SUNXI_R_UART 1068 default 0x02530c00 if DEBUG_KEYSTONE_UART0 1069 default 0x02531000 if DEBUG_KEYSTONE_UART1 1070 default 0x03010fe0 if ARCH_RPC 1071 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \ 1072 DEBUG_VEXPRESS_UART0_CA9 1073 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT 1074 default 0x10124000 if DEBUG_RK3X_UART0 1075 default 0x10126000 if DEBUG_RK3X_UART1 1076 default 0x101f1000 if ARCH_VERSATILE 1077 default 0x101fb000 if DEBUG_NOMADIK_UART 1078 default 0x16000000 if ARCH_INTEGRATOR 1079 default 0x18000300 if DEBUG_BCM_5301X 1080 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1 1081 default 0x20060000 if DEBUG_RK29_UART0 1082 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1083 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1084 default 0x20201000 if DEBUG_BCM2835 1085 default 0x3e000000 if DEBUG_BCM_KONA_UART 1086 default 0x4000e400 if DEBUG_LL_UART_EFM32 1087 default 0x40090000 if ARCH_LPC32XX 1088 default 0x40100000 if DEBUG_PXA_UART1 1089 default 0x42000000 if ARCH_GEMINI 1090 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1091 DEBUG_S3C2410_UART0) 1092 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \ 1093 DEBUG_S3C2410_UART1) 1094 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \ 1095 DEBUG_S3C2410_UART2) 1096 default 0x7c0003f8 if FOOTBRIDGE 1097 default 0x80070000 if DEBUG_IMX23_UART 1098 default 0x80074000 if DEBUG_IMX28_UART 1099 default 0x80230000 if DEBUG_PICOXCELL_UART 1100 default 0x808c0000 if ARCH_EP93XX 1101 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1102 default 0xa9a00000 if DEBUG_MSM_UART 1103 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX 1104 default 0xc0013000 if DEBUG_U300_UART 1105 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1106 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN 1107 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX 1108 default 0xd0012000 if DEBUG_MVEBU_UART 1109 default 0xd4017000 if DEBUG_MMP_UART2 1110 default 0xd4018000 if DEBUG_MMP_UART3 1111 default 0xe0000000 if ARCH_SPEAR13XX 1112 default 0xf0000be0 if ARCH_EBSA110 1113 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE 1114 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \ 1115 ARCH_ORION5X 1116 default 0xf7fc9000 if DEBUG_BERLIN_UART 1117 default 0xf8b00000 if DEBUG_HIX5HD2_UART 1118 default 0xf991e000 if DEBUG_QCOM_UARTDM 1119 default 0xfcb00000 if DEBUG_HI3620_UART 1120 default 0xfe800000 if ARCH_IOP32X 1121 default 0xff690000 if DEBUG_RK32_UART2 1122 default 0xffc02000 if DEBUG_SOCFPGA_UART 1123 default 0xffd82340 if ARCH_IOP13XX 1124 default 0xfff36000 if DEBUG_HIGHBANK_UART 1125 default 0xfffff700 if ARCH_IOP33X 1126 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1127 DEBUG_LL_UART_EFM32 || \ 1128 DEBUG_UART_8250 || DEBUG_UART_PL01X || \ 1129 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART 1130 1131config DEBUG_UART_VIRT 1132 hex "Virtual base address of debug UART" 1133 default 0xe0010fe0 if ARCH_RPC 1134 default 0xe1000000 if DEBUG_MSM_UART 1135 default 0xf0000be0 if ARCH_EBSA110 1136 default 0xf0009000 if DEBUG_CNS3XXX 1137 default 0xf01fb000 if DEBUG_NOMADIK_UART 1138 default 0xf0201000 if DEBUG_BCM2835 1139 default 0xf1000300 if DEBUG_BCM_5301X 1140 default 0xf11f1000 if ARCH_VERSATILE 1141 default 0xf1600000 if ARCH_INTEGRATOR 1142 default 0xf1c28000 if DEBUG_SUNXI_UART0 1143 default 0xf1c28400 if DEBUG_SUNXI_UART1 1144 default 0xf1f02800 if DEBUG_SUNXI_R_UART 1145 default 0xf2100000 if DEBUG_PXA_UART1 1146 default 0xf4090000 if ARCH_LPC32XX 1147 default 0xf4200000 if ARCH_GEMINI 1148 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \ 1149 DEBUG_S3C2410_UART0) 1150 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \ 1151 DEBUG_S3C2410_UART1) 1152 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \ 1153 DEBUG_S3C2410_UART2) 1154 default 0xf7fc9000 if DEBUG_BERLIN_UART 1155 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9 1156 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1 1157 default 0xfa71e000 if DEBUG_QCOM_UARTDM 1158 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT 1159 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT 1160 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX 1161 default 0xfd000000 if ARCH_SPEAR13XX 1162 default 0xfd012000 if ARCH_MV78XX0 1163 default 0xfde12000 if ARCH_DOVE 1164 default 0xfe012000 if ARCH_ORION5X 1165 default 0xfe017000 if DEBUG_MMP_UART2 1166 default 0xfe018000 if DEBUG_MMP_UART3 1167 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART 1168 default 0xfe230000 if DEBUG_PICOXCELL_UART 1169 default 0xfe300000 if DEBUG_BCM_KONA_UART 1170 default 0xfe800000 if ARCH_IOP32X 1171 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART 1172 default 0xfeb24000 if DEBUG_RK3X_UART0 1173 default 0xfeb26000 if DEBUG_RK3X_UART1 1174 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0 1175 default 0xfeb31000 if DEBUG_KEYSTONE_UART1 1176 default 0xfec02000 if DEBUG_SOCFPGA_UART 1177 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE 1178 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0 1179 default 0xfec90000 if DEBUG_RK32_UART2 1180 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1 1181 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2 1182 default 0xfed60000 if DEBUG_RK29_UART0 1183 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2 1184 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3 1185 default 0xfedc0000 if ARCH_EP93XX 1186 default 0xfee003f8 if FOOTBRIDGE 1187 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1188 default 0xfee82340 if ARCH_IOP13XX 1189 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1190 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN 1191 default 0xfef36000 if DEBUG_HIGHBANK_UART 1192 default 0xfefff700 if ARCH_IOP33X 1193 default 0xff003000 if DEBUG_U300_UART 1194 default DEBUG_UART_PHYS if !MMU 1195 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1196 DEBUG_UART_8250 || DEBUG_UART_PL01X || \ 1197 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART 1198 1199config DEBUG_UART_8250_SHIFT 1200 int "Register offset shift for the 8250 debug UART" 1201 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1202 default 0 if FOOTBRIDGE || ARCH_IOP32X 1203 default 2 1204 1205config DEBUG_UART_8250_WORD 1206 bool "Use 32-bit accesses for 8250 UART" 1207 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1208 depends on DEBUG_UART_8250_SHIFT >= 2 1209 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \ 1210 ARCH_KEYSTONE || \ 1211 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \ 1212 DEBUG_DAVINCI_DA8XX_UART2 || \ 1213 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 1214 1215config DEBUG_UART_8250_FLOW_CONTROL 1216 bool "Enable flow control for 8250 UART" 1217 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250 1218 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC 1219 1220config DEBUG_UNCOMPRESS 1221 bool 1222 depends on ARCH_MULTIPLATFORM || ARCH_MSM || PLAT_SAMSUNG 1223 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \ 1224 (!DEBUG_TEGRA_UART || !ZBOOT_ROM) 1225 help 1226 This option influences the normal decompressor output for 1227 multiplatform kernels. Normally, multiplatform kernels disable 1228 decompressor output because it is not possible to know where to 1229 send the decompressor output. 1230 1231 When this option is set, the selected DEBUG_LL output method 1232 will be re-used for normal decompressor output on multiplatform 1233 kernels. 1234 1235 1236config UNCOMPRESS_INCLUDE 1237 string 1238 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \ 1239 PLAT_SAMSUNG || ARCH_EFM32 1240 default "mach/uncompress.h" 1241 1242config EARLY_PRINTK 1243 bool "Early printk" 1244 depends on DEBUG_LL 1245 help 1246 Say Y here if you want to have an early console using the 1247 kernel low-level debugging functions. Add earlyprintk to your 1248 kernel parameters to enable this console. 1249 1250config OC_ETM 1251 bool "On-chip ETM and ETB" 1252 depends on ARM_AMBA 1253 help 1254 Enables the on-chip embedded trace macrocell and embedded trace 1255 buffer driver that will allow you to collect traces of the 1256 kernel code. 1257 1258config ARM_KPROBES_TEST 1259 tristate "Kprobes test module" 1260 depends on KPROBES && MODULES 1261 help 1262 Perform tests of kprobes API and instruction set simulation. 1263 1264config PID_IN_CONTEXTIDR 1265 bool "Write the current PID to the CONTEXTIDR register" 1266 depends on CPU_COPY_V6 1267 help 1268 Enabling this option causes the kernel to write the current PID to 1269 the PROCID field of the CONTEXTIDR register, at the expense of some 1270 additional instructions during context switch. Say Y here only if you 1271 are planning to use hardware trace tools with this kernel. 1272 1273config DEBUG_SET_MODULE_RONX 1274 bool "Set loadable kernel module data as NX and text as RO" 1275 depends on MODULES 1276 ---help--- 1277 This option helps catch unintended modifications to loadable 1278 kernel module's text and read-only data. It also prevents execution 1279 of module data. Such protection may interfere with run-time code 1280 patching and dynamic kernel tracing - and they might also protect 1281 against certain classes of kernel exploits. 1282 If in doubt, say "N". 1283 1284endmenu 1285