3 source "lib/Kconfig.debug"
6 bool "Filter access to /dev/mem"
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.
14 If this option is switched on, the /dev/mem file only allows
15 userspace access to memory mapped peripherals.
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 ;).
25 depends on !THUMB2_KERNEL
26 default y if !ARM_UNWIND || FUNCTION_GRAPH_TRACER
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.
34 bool "Enable stack unwinding support (EXPERIMENTAL)"
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.
46 depends on FUNCTION_TRACER && FRAME_POINTER
50 bool "Verbose user fault messages"
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.
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:
60 1 - undefined instruction events
62 4 - invalid data aborts
66 # These options are only for real kernel hackers who want to get their hands dirty.
68 bool "Kernel low-level debugging functions (read help!)"
69 depends on DEBUG_KERNEL
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.
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.
81 prompt "Kernel low-level debugging port"
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
88 config AT91_DEBUG_LL_DBGU1
89 bool "Kernel low-level debugging on 9263 and 9g45"
90 depends on HAVE_AT91_DBGU1
93 bool "Kernel low-level debugging on BCM2835 PL011 UART"
94 depends on ARCH_BCM2835
95 select DEBUG_UART_PL01X
97 config DEBUG_CLPS711X_UART1
98 bool "Kernel low-level debugging messages via UART1"
99 depends on ARCH_CLPS711X
101 Say Y here if you want the debug print routines to direct
102 their output to the first serial port on these devices.
104 config DEBUG_CLPS711X_UART2
105 bool "Kernel low-level debugging messages via UART2"
106 depends on ARCH_CLPS711X
108 Say Y here if you want the debug print routines to direct
109 their output to the second serial port on these devices.
112 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
113 depends on ARCH_CNS3XXX
114 select DEBUG_UART_PL01X
116 Say Y here if you want the debug print routines to direct
117 their output to the CNS3xxx UART0.
119 config DEBUG_DAVINCI_DA8XX_UART1
120 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
121 depends on ARCH_DAVINCI_DA8XX
122 select DEBUG_UART_8250
124 Say Y here if you want the debug print routines to direct
125 their output to UART1 serial port on DaVinci DA8XX devices.
127 config DEBUG_DAVINCI_DA8XX_UART2
128 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
129 depends on ARCH_DAVINCI_DA8XX
130 select DEBUG_UART_8250
132 Say Y here if you want the debug print routines to direct
133 their output to UART2 serial port on DaVinci DA8XX devices.
135 config DEBUG_DAVINCI_DMx_UART0
136 bool "Kernel low-level debugging on DaVinci DMx using UART0"
137 depends on ARCH_DAVINCI_DMx
138 select DEBUG_UART_8250
140 Say Y here if you want the debug print routines to direct
141 their output to UART0 serial port on DaVinci DMx devices.
143 config DEBUG_DAVINCI_TNETV107X_UART1
144 bool "Kernel low-level debugging on DaVinci TNETV107x using UART1"
145 depends on ARCH_DAVINCI_TNETV107X
146 select DEBUG_UART_8250
148 Say Y here if you want the debug print routines to direct
149 their output to UART1 serial port on DaVinci TNETV107X
152 config DEBUG_ZYNQ_UART0
153 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
156 Say Y here if you want the debug print routines to direct
157 their output to UART0 on the Zynq platform.
159 config DEBUG_ZYNQ_UART1
160 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
163 Say Y here if you want the debug print routines to direct
164 their output to UART1 on the Zynq platform.
166 If you have a ZC702 board and want early boot messages to
167 appear on the USB serial adaptor, select this option.
169 config DEBUG_DC21285_PORT
170 bool "Kernel low-level debugging messages via footbridge serial port"
171 depends on FOOTBRIDGE
173 Say Y here if you want the debug print routines to direct
174 their output to the serial port in the DC21285 (Footbridge).
176 config DEBUG_FOOTBRIDGE_COM1
177 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
178 depends on FOOTBRIDGE
180 Say Y here if you want the debug print routines to direct
181 their output to the 8250 at PCI COM1.
183 config DEBUG_HI3620_UART
184 bool "Hisilicon HI3620 Debug UART"
185 depends on ARCH_HI3xxx
186 select DEBUG_UART_PL01X
188 Say Y here if you want kernel low-level debugging support
191 config DEBUG_HI3716_UART
192 bool "Hisilicon Hi3716 Debug UART"
193 depends on ARCH_HI3xxx
194 select DEBUG_UART_PL01X
196 Say Y here if you want kernel low-level debugging support
199 config DEBUG_HIGHBANK_UART
200 bool "Kernel low-level debugging messages via Highbank UART"
201 depends on ARCH_HIGHBANK
202 select DEBUG_UART_PL01X
204 Say Y here if you want the debug print routines to direct
205 their output to the UART on Highbank based devices.
207 config DEBUG_IMX1_UART
208 bool "i.MX1 Debug UART"
211 Say Y here if you want kernel low-level debugging support
214 config DEBUG_IMX23_UART
215 bool "i.MX23 Debug UART"
217 select DEBUG_UART_PL01X
219 Say Y here if you want kernel low-level debugging support
222 config DEBUG_IMX25_UART
223 bool "i.MX25 Debug UART"
226 Say Y here if you want kernel low-level debugging support
229 config DEBUG_IMX21_IMX27_UART
230 bool "i.MX21 and i.MX27 Debug UART"
231 depends on SOC_IMX21 || SOC_IMX27
233 Say Y here if you want kernel low-level debugging support
236 config DEBUG_IMX28_UART
237 bool "i.MX28 Debug UART"
239 select DEBUG_UART_PL01X
241 Say Y here if you want kernel low-level debugging support
244 config DEBUG_IMX31_UART
245 bool "i.MX31 Debug UART"
248 Say Y here if you want kernel low-level debugging support
251 config DEBUG_IMX35_UART
252 bool "i.MX35 Debug UART"
255 Say Y here if you want kernel low-level debugging support
258 config DEBUG_IMX51_UART
259 bool "i.MX51 Debug UART"
262 Say Y here if you want kernel low-level debugging support
265 config DEBUG_IMX53_UART
266 bool "i.MX53 Debug UART"
269 Say Y here if you want kernel low-level debugging support
272 config DEBUG_IMX6Q_UART
273 bool "i.MX6Q/DL Debug UART"
276 Say Y here if you want kernel low-level debugging support
279 config DEBUG_IMX6SL_UART
280 bool "i.MX6SL Debug UART"
281 depends on SOC_IMX6SL
283 Say Y here if you want kernel low-level debugging support
286 config DEBUG_KEYSTONE_UART0
287 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
288 depends on ARCH_KEYSTONE
289 select DEBUG_UART_8250
291 Say Y here if you want the debug print routines to direct
292 their output to UART0 serial port on KEYSTONE2 devices.
294 config DEBUG_KEYSTONE_UART1
295 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
296 depends on ARCH_KEYSTONE
297 select DEBUG_UART_8250
299 Say Y here if you want the debug print routines to direct
300 their output to UART1 serial port on KEYSTONE2 devices.
302 config DEBUG_MMP_UART2
303 bool "Kernel low-level debugging message via MMP UART2"
305 select DEBUG_UART_8250
307 Say Y here if you want kernel low-level debugging support
310 config DEBUG_MMP_UART3
311 bool "Kernel low-level debugging message via MMP UART3"
313 select DEBUG_UART_8250
315 Say Y here if you want kernel low-level debugging support
318 config DEBUG_MSM_UART1
319 bool "Kernel low-level debugging messages via MSM UART1"
320 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
321 select DEBUG_MSM_UART
323 Say Y here if you want the debug print routines to direct
324 their output to the first serial port on MSM devices.
326 config DEBUG_MSM_UART2
327 bool "Kernel low-level debugging messages via MSM UART2"
328 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
329 select DEBUG_MSM_UART
331 Say Y here if you want the debug print routines to direct
332 their output to the second serial port on MSM devices.
334 config DEBUG_MSM_UART3
335 bool "Kernel low-level debugging messages via MSM UART3"
336 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
337 select DEBUG_MSM_UART
339 Say Y here if you want the debug print routines to direct
340 their output to the third serial port on MSM devices.
342 config DEBUG_MSM8660_UART
343 bool "Kernel low-level debugging messages via MSM 8660 UART"
344 depends on ARCH_MSM8X60
345 select MSM_HAS_DEBUG_UART_HS
346 select DEBUG_MSM_UART
348 Say Y here if you want the debug print routines to direct
349 their output to the serial port on MSM 8660 devices.
351 config DEBUG_MSM8960_UART
352 bool "Kernel low-level debugging messages via MSM 8960 UART"
353 depends on ARCH_MSM8960
354 select MSM_HAS_DEBUG_UART_HS
355 select DEBUG_MSM_UART
357 Say Y here if you want the debug print routines to direct
358 their output to the serial port on MSM 8960 devices.
360 config DEBUG_MSM8974_UART
361 bool "Kernel low-level debugging messages via MSM 8974 UART"
362 depends on ARCH_MSM8974
363 select MSM_HAS_DEBUG_UART_HS
364 select DEBUG_MSM_UART
366 Say Y here if you want the debug print routines to direct
367 their output to the serial port on MSM 8974 devices.
369 config DEBUG_MVEBU_UART
370 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
371 depends on ARCH_MVEBU
372 select DEBUG_UART_8250
374 Say Y here if you want kernel low-level debugging support
375 on MVEBU based platforms.
377 This option should be used with the old bootloaders
378 that left the internal registers mapped at
379 0xd0000000. As of today, this is the case on
380 platforms such as the Globalscale Mirabox or the
381 Plathome OpenBlocks AX3, when using the original
384 If the wrong DEBUG_MVEBU_UART* option is selected,
385 when u-boot hands over to the kernel, the system
386 silently crashes, with no serial output at all.
388 config DEBUG_MVEBU_UART_ALTERNATE
389 bool "Kernel low-level debugging messages via MVEBU UART (new bootloaders)"
390 depends on ARCH_MVEBU
391 select DEBUG_UART_8250
393 Say Y here if you want kernel low-level debugging support
394 on MVEBU based platforms.
396 This option should be used with the new bootloaders
397 that remap the internal registers at 0xf1000000.
399 If the wrong DEBUG_MVEBU_UART* option is selected,
400 when u-boot hands over to the kernel, the system
401 silently crashes, with no serial output at all.
403 config DEBUG_NOMADIK_UART
404 bool "Kernel low-level debugging messages via NOMADIK UART"
405 depends on ARCH_NOMADIK
406 select DEBUG_UART_PL01X
408 Say Y here if you want kernel low-level debugging support
409 on NOMADIK based platforms.
411 config DEBUG_NSPIRE_CLASSIC_UART
412 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
413 depends on ARCH_NSPIRE
414 select DEBUG_UART_8250
416 Say Y here if you want kernel low-level debugging support
417 on TI-NSPIRE classic models.
419 config DEBUG_NSPIRE_CX_UART
420 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
421 depends on ARCH_NSPIRE
422 select DEBUG_UART_PL01X
424 Say Y here if you want kernel low-level debugging support
425 on TI-NSPIRE CX models.
427 config DEBUG_OMAP2UART1
428 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
429 depends on ARCH_OMAP2PLUS
430 select DEBUG_OMAP2PLUS_UART
432 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
433 omap3 torpedo and 3530 lv som.
435 config DEBUG_OMAP2UART2
436 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
437 depends on ARCH_OMAP2PLUS
438 select DEBUG_OMAP2PLUS_UART
440 config DEBUG_OMAP2UART3
441 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
442 depends on ARCH_OMAP2PLUS
443 select DEBUG_OMAP2PLUS_UART
445 config DEBUG_OMAP3UART3
446 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
447 depends on ARCH_OMAP2PLUS
448 select DEBUG_OMAP2PLUS_UART
450 This covers at least cm_t3x, beagle, crane, devkit8000,
451 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
454 config DEBUG_OMAP4UART3
455 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
456 depends on ARCH_OMAP2PLUS
457 select DEBUG_OMAP2PLUS_UART
459 config DEBUG_OMAP3UART4
460 bool "Kernel low-level debugging messages via OMAP36XX UART4"
461 depends on ARCH_OMAP2PLUS
462 select DEBUG_OMAP2PLUS_UART
464 config DEBUG_OMAP4UART4
465 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
466 depends on ARCH_OMAP2PLUS
467 select DEBUG_OMAP2PLUS_UART
469 config DEBUG_TI81XXUART1
470 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
471 depends on ARCH_OMAP2PLUS
472 select DEBUG_OMAP2PLUS_UART
474 config DEBUG_TI81XXUART2
475 bool "Kernel low-level debugging messages via TI81XX UART2"
476 depends on ARCH_OMAP2PLUS
477 select DEBUG_OMAP2PLUS_UART
479 config DEBUG_TI81XXUART3
480 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
481 depends on ARCH_OMAP2PLUS
482 select DEBUG_OMAP2PLUS_UART
484 config DEBUG_AM33XXUART1
485 bool "Kernel low-level debugging messages via AM33XX UART1"
486 depends on ARCH_OMAP2PLUS
487 select DEBUG_OMAP2PLUS_UART
489 config DEBUG_ZOOM_UART
490 bool "Kernel low-level debugging messages via Zoom2/3 UART"
491 depends on ARCH_OMAP2PLUS
492 select DEBUG_OMAP2PLUS_UART
494 config DEBUG_PICOXCELL_UART
495 depends on ARCH_PICOXCELL
496 bool "Use PicoXcell UART for low-level debug"
497 select DEBUG_UART_8250
499 Say Y here if you want kernel low-level debugging support
500 on PicoXcell based platforms.
502 config DEBUG_PXA_UART1
504 bool "Use PXA UART1 for low-level debug"
505 select DEBUG_UART_8250
507 Say Y here if you want kernel low-level debugging support
510 config DEBUG_REALVIEW_STD_PORT
511 bool "RealView Default UART"
512 depends on ARCH_REALVIEW
513 select DEBUG_UART_PL01X
515 Say Y here if you want the debug print routines to direct
516 their output to the serial port on RealView EB, PB11MP, PBA8
519 config DEBUG_REALVIEW_PB1176_PORT
520 bool "RealView PB1176 UART"
521 depends on MACH_REALVIEW_PB1176
522 select DEBUG_UART_PL01X
524 Say Y here if you want the debug print routines to direct
525 their output to the standard serial port on the RealView
528 config DEBUG_RK29_UART0
529 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
530 depends on ARCH_ROCKCHIP
531 select DEBUG_UART_8250
533 Say Y here if you want kernel low-level debugging support
534 on Rockchip based platforms.
536 config DEBUG_RK29_UART1
537 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
538 depends on ARCH_ROCKCHIP
539 select DEBUG_UART_8250
541 Say Y here if you want kernel low-level debugging support
542 on Rockchip based platforms.
544 config DEBUG_RK29_UART2
545 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
546 depends on ARCH_ROCKCHIP
547 select DEBUG_UART_8250
549 Say Y here if you want kernel low-level debugging support
550 on Rockchip based platforms.
552 config DEBUG_RK3X_UART0
553 bool "Kernel low-level debugging messages via Rockchip RK3X UART0"
554 depends on ARCH_ROCKCHIP
555 select DEBUG_UART_8250
557 Say Y here if you want kernel low-level debugging support
558 on Rockchip based platforms.
560 config DEBUG_RK3X_UART1
561 bool "Kernel low-level debugging messages via Rockchip RK3X UART1"
562 depends on ARCH_ROCKCHIP
563 select DEBUG_UART_8250
565 Say Y here if you want kernel low-level debugging support
566 on Rockchip based platforms.
568 config DEBUG_RK3X_UART2
569 bool "Kernel low-level debugging messages via Rockchip RK3X UART2"
570 depends on ARCH_ROCKCHIP
571 select DEBUG_UART_8250
573 Say Y here if you want kernel low-level debugging support
574 on Rockchip based platforms.
576 config DEBUG_RK3X_UART3
577 bool "Kernel low-level debugging messages via Rockchip RK3X UART3"
578 depends on ARCH_ROCKCHIP
579 select DEBUG_UART_8250
581 Say Y here if you want kernel low-level debugging support
582 on Rockchip based platforms.
584 config DEBUG_S3C_UART0
585 depends on PLAT_SAMSUNG
586 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
587 bool "Use S3C UART 0 for low-level debug"
589 Say Y here if you want the debug print routines to direct
590 their output to UART 0. The port must have been initialised
591 by the boot-loader before use.
593 The uncompressor code port configuration is now handled
594 by CONFIG_S3C_LOWLEVEL_UART_PORT.
596 config DEBUG_S3C_UART1
597 depends on PLAT_SAMSUNG
598 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
599 bool "Use S3C UART 1 for low-level debug"
601 Say Y here if you want the debug print routines to direct
602 their output to UART 1. The port must have been initialised
603 by the boot-loader before use.
605 The uncompressor code port configuration is now handled
606 by CONFIG_S3C_LOWLEVEL_UART_PORT.
608 config DEBUG_S3C_UART2
609 depends on PLAT_SAMSUNG
610 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
611 bool "Use S3C UART 2 for low-level debug"
613 Say Y here if you want the debug print routines to direct
614 their output to UART 2. The port must have been initialised
615 by the boot-loader before use.
617 The uncompressor code port configuration is now handled
618 by CONFIG_S3C_LOWLEVEL_UART_PORT.
620 config DEBUG_S3C_UART3
621 depends on PLAT_SAMSUNG && ARCH_EXYNOS
622 select DEBUG_EXYNOS_UART
623 bool "Use S3C UART 3 for low-level debug"
625 Say Y here if you want the debug print routines to direct
626 their output to UART 3. The port must have been initialised
627 by the boot-loader before use.
629 The uncompressor code port configuration is now handled
630 by CONFIG_S3C_LOWLEVEL_UART_PORT.
632 config DEBUG_SOCFPGA_UART
633 depends on ARCH_SOCFPGA
634 bool "Use SOCFPGA UART for low-level debug"
635 select DEBUG_UART_8250
637 Say Y here if you want kernel low-level debugging support
638 on SOCFPGA based platforms.
640 config DEBUG_SUNXI_UART0
641 bool "Kernel low-level debugging messages via sunXi UART0"
642 depends on ARCH_SUNXI
643 select DEBUG_UART_8250
645 Say Y here if you want kernel low-level debugging support
646 on Allwinner A1X based platforms on the UART0.
648 config DEBUG_SUNXI_UART1
649 bool "Kernel low-level debugging messages via sunXi UART1"
650 depends on ARCH_SUNXI
651 select DEBUG_UART_8250
653 Say Y here if you want kernel low-level debugging support
654 on Allwinner A1X based platforms on the UART1.
656 config TEGRA_DEBUG_UART_AUTO_ODMDATA
657 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
658 depends on ARCH_TEGRA
659 select DEBUG_TEGRA_UART
661 Automatically determines which UART to use for low-level
662 debug based on the ODMDATA value. This value is part of
663 the BCT, and is written to the boot memory device using
664 nvflash, or other flashing tool. When bits 19:18 are 3,
665 then bits 17:15 indicate which UART to use; 0/1/2/3/4
668 config TEGRA_DEBUG_UARTA
669 bool "Kernel low-level debugging messages via Tegra UART A"
670 depends on ARCH_TEGRA
671 select DEBUG_TEGRA_UART
673 Say Y here if you want kernel low-level debugging support
674 on Tegra based platforms.
676 config TEGRA_DEBUG_UARTB
677 bool "Kernel low-level debugging messages via Tegra UART B"
678 depends on ARCH_TEGRA
679 select DEBUG_TEGRA_UART
681 Say Y here if you want kernel low-level debugging support
682 on Tegra based platforms.
684 config TEGRA_DEBUG_UARTC
685 bool "Kernel low-level debugging messages via Tegra UART C"
686 depends on ARCH_TEGRA
687 select DEBUG_TEGRA_UART
689 Say Y here if you want kernel low-level debugging support
690 on Tegra based platforms.
692 config TEGRA_DEBUG_UARTD
693 bool "Kernel low-level debugging messages via Tegra UART D"
694 depends on ARCH_TEGRA
695 select DEBUG_TEGRA_UART
697 Say Y here if you want kernel low-level debugging support
698 on Tegra based platforms.
700 config TEGRA_DEBUG_UARTE
701 bool "Kernel low-level debugging messages via Tegra UART E"
702 depends on ARCH_TEGRA
703 select DEBUG_TEGRA_UART
705 Say Y here if you want kernel low-level debugging support
706 on Tegra based platforms.
708 config DEBUG_SIRFPRIMA2_UART1
709 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
710 depends on ARCH_PRIMA2
712 Say Y here if you want the debug print routines to direct
713 their output to the uart1 port on SiRFprimaII devices.
715 config DEBUG_SIRFMARCO_UART1
716 bool "Kernel low-level debugging messages via SiRFmarco UART1"
717 depends on ARCH_MARCO
719 Say Y here if you want the debug print routines to direct
720 their output to the uart1 port on SiRFmarco devices.
722 config STIH41X_DEBUG_ASC2
723 bool "Use StiH415/416 ASC2 UART for low-level debug"
725 select DEBUG_STI_UART
727 Say Y here if you want kernel low-level debugging support
728 on STiH415/416 based platforms like b2000, which has
729 default UART wired up to ASC2.
733 config STIH41X_DEBUG_SBC_ASC1
734 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
736 select DEBUG_STI_UART
738 Say Y here if you want kernel low-level debugging support
739 on STiH415/416 based platforms like b2020. which has
740 default UART wired up to SBC ASC1.
744 config DEBUG_U300_UART
745 bool "Kernel low-level debugging messages via U300 UART0"
747 select DEBUG_UART_PL01X
749 Say Y here if you want the debug print routines to direct
750 their output to the uart port on U300 devices.
752 config DEBUG_UX500_UART
753 depends on ARCH_U8500
754 bool "Use Ux500 UART for low-level debug"
756 Say Y here if you want kernel low-level debugging support
757 on Ux500 based platforms.
759 config DEBUG_VEXPRESS_UART0_DETECT
760 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
761 depends on ARCH_VEXPRESS && CPU_CP15_MMU
763 This option enables a simple heuristic which tries to determine
764 the motherboard's memory map variant (original or RS1) and then
765 choose the relevant UART0 base address.
767 Note that this will only work with standard A-class core tiles,
768 and may fail with non-standard SMM or custom software models.
770 config DEBUG_VEXPRESS_UART0_CA9
771 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
772 depends on ARCH_VEXPRESS
773 select DEBUG_UART_PL01X
775 This option selects UART0 at 0x10009000. Except for custom models,
776 this applies only to the V2P-CA9 tile.
778 config DEBUG_VEXPRESS_UART0_RS1
779 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
780 depends on ARCH_VEXPRESS
781 select DEBUG_UART_PL01X
783 This option selects UART0 at 0x1c090000. This applies to most
784 of the tiles using the RS1 memory map, including all new A-class
785 core tiles, FPGA-based SMMs and software models.
787 config DEBUG_VEXPRESS_UART0_CRX
788 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
789 depends on ARCH_VEXPRESS && !MMU
790 select DEBUG_UART_PL01X
792 This option selects UART0 at 0xb0090000. This is appropriate for
793 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
795 config DEBUG_VT8500_UART0
796 bool "Use UART0 on VIA/Wondermedia SoCs"
797 depends on ARCH_VT8500
799 This option selects UART0 on VIA/Wondermedia System-on-a-chip
800 devices, including VT8500, WM8505, WM8650 and WM8850.
802 config DEBUG_LL_UART_NONE
803 bool "No low-level debugging UART"
804 depends on !ARCH_MULTIPLATFORM
806 Say Y here if your platform doesn't provide a UART option
807 above. This relies on your platform choosing the right UART
808 definition internally in order for low-level debugging to
812 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
814 Say Y here if you want the debug print routines to direct
815 their output to the EmbeddedICE macrocell's DCC channel using
816 co-processor 14. This is known to work on the ARM9 style ICE
817 channel and on the XScale with the PEEDI.
819 Note that the system will appear to hang during boot if there
820 is nothing connected to read from the DCC.
822 config DEBUG_SEMIHOSTING
823 bool "Kernel low-level debug output via semihosting I/O"
825 Semihosting enables code running on an ARM target to use
826 the I/O facilities on a host debugger/emulator through a
827 simple SVC call. The host debugger or emulator must have
828 semihosting enabled for the special svc call to be trapped
829 otherwise the kernel will crash.
831 This is known to work with OpenOCD, as well as
832 ARM's Fast Models, or any other controlling environment
833 that implements semihosting.
835 For more details about semihosting, please see
836 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
838 config DEBUG_LL_UART_8250
839 bool "Kernel low-level debugging via 8250 UART"
841 Say Y here if you wish the debug print routes to direct
842 their output to an 8250 UART. You can use this option
843 to provide the parameters for the 8250 UART rather than
844 selecting one of the platform specific options above if
845 you know the parameters for the port.
847 This option is preferred over the platform specific
848 options; the platform specific options are deprecated
849 and will be soon removed.
851 config DEBUG_LL_UART_EFM32
852 bool "Kernel low-level debugging via efm32 UART"
853 depends on ARCH_EFM32
855 Say Y here if you want the debug print routines to direct
856 their output to an UART or USART port on efm32 based
857 machines. Use the following addresses for DEBUG_UART_PHYS:
865 config DEBUG_LL_UART_PL01X
866 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
868 Say Y here if you wish the debug print routes to direct
869 their output to a PL01x Primecell UART. You can use
870 this option to provide the parameters for the UART
871 rather than selecting one of the platform specific
872 options above if you know the parameters for the port.
874 This option is preferred over the platform specific
875 options; the platform specific options are deprecated
876 and will be soon removed.
880 config DEBUG_EXYNOS_UART
883 config DEBUG_OMAP2PLUS_UART
885 depends on ARCH_OMAP2PLUS
887 config DEBUG_IMX_UART_PORT
888 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
889 DEBUG_IMX25_UART || \
890 DEBUG_IMX21_IMX27_UART || \
891 DEBUG_IMX31_UART || \
892 DEBUG_IMX35_UART || \
893 DEBUG_IMX51_UART || \
894 DEBUG_IMX53_UART || \
895 DEBUG_IMX6Q_UART || \
900 Choose UART port on which kernel low-level debug messages
903 config DEBUG_TEGRA_UART
905 depends on ARCH_TEGRA
907 config DEBUG_STI_UART
911 config DEBUG_MSM_UART
915 config DEBUG_LL_INCLUDE
917 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
918 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
919 default "debug/exynos.S" if DEBUG_EXYNOS_UART
920 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
921 default "debug/icedcc.S" if DEBUG_ICEDCC
922 default "debug/imx.S" if DEBUG_IMX1_UART || \
923 DEBUG_IMX25_UART || \
924 DEBUG_IMX21_IMX27_UART || \
925 DEBUG_IMX31_UART || \
926 DEBUG_IMX35_UART || \
927 DEBUG_IMX51_UART || \
929 DEBUG_IMX6Q_UART || \
931 default "debug/msm.S" if DEBUG_MSM_UART
932 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
933 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
934 default "debug/sti.S" if DEBUG_STI_UART
935 default "debug/tegra.S" if DEBUG_TEGRA_UART
936 default "debug/ux500.S" if DEBUG_UX500_UART
937 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
938 default "debug/vt8500.S" if DEBUG_VT8500_UART0
939 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
940 default "mach/debug-macro.S"
942 # Compatibility options for PL01x
943 config DEBUG_UART_PL01X
944 def_bool ARCH_EP93XX || \
951 # Compatibility options for 8250
952 config DEBUG_UART_8250
953 def_bool ARCH_DOVE || ARCH_EBSA110 || \
954 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
955 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
956 ARCH_IOP33X || ARCH_IXP4XX || ARCH_KIRKWOOD || \
957 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
959 config DEBUG_UART_PHYS
960 hex "Physical base address of debug UART"
961 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
962 default 0x01c28000 if DEBUG_SUNXI_UART0
963 default 0x01c28400 if DEBUG_SUNXI_UART1
964 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
965 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
966 default 0x02530c00 if DEBUG_KEYSTONE_UART0
967 default 0x02531000 if DEBUG_KEYSTONE_UART1
968 default 0x03010fe0 if ARCH_RPC
969 default 0x08108300 if DEBUG_DAVINCI_TNETV107X_UART1
970 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || DEBUG_CNS3XXX || \
971 DEBUG_VEXPRESS_UART0_CA9
972 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
973 default 0x10124000 if DEBUG_RK3X_UART0
974 default 0x10126000 if DEBUG_RK3X_UART1
975 default 0x101f1000 if ARCH_VERSATILE
976 default 0x101fb000 if DEBUG_NOMADIK_UART
977 default 0x16000000 if ARCH_INTEGRATOR
978 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
979 default 0x20060000 if DEBUG_RK29_UART0
980 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
981 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
982 default 0x20201000 if DEBUG_BCM2835
983 default 0x4000e400 if DEBUG_LL_UART_EFM32
984 default 0x40090000 if ARCH_LPC32XX
985 default 0x40100000 if DEBUG_PXA_UART1
986 default 0x42000000 if ARCH_GEMINI
987 default 0x7c0003f8 if FOOTBRIDGE
988 default 0x80230000 if DEBUG_PICOXCELL_UART
989 default 0x80070000 if DEBUG_IMX23_UART
990 default 0x80074000 if DEBUG_IMX28_UART
991 default 0x808c0000 if ARCH_EP93XX
992 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
993 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
994 default 0xc0013000 if DEBUG_U300_UART
995 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
996 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
997 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
998 default 0xd0012000 if DEBUG_MVEBU_UART
999 default 0xd4017000 if DEBUG_MMP_UART2
1000 default 0xd4018000 if DEBUG_MMP_UART3
1001 default 0xe0000000 if ARCH_SPEAR13XX
1002 default 0xf0000be0 if ARCH_EBSA110
1003 default 0xf1012000 if DEBUG_MVEBU_UART_ALTERNATE
1004 default 0xf1012000 if ARCH_DOVE || ARCH_KIRKWOOD || ARCH_MV78XX0 || \
1006 default 0xf8b00000 if DEBUG_HI3716_UART
1007 default 0xfcb00000 if DEBUG_HI3620_UART
1008 default 0xfe800000 if ARCH_IOP32X
1009 default 0xffc02000 if DEBUG_SOCFPGA_UART
1010 default 0xffd82340 if ARCH_IOP13XX
1011 default 0xfff36000 if DEBUG_HIGHBANK_UART
1012 default 0xfffff700 if ARCH_IOP33X
1013 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1014 DEBUG_LL_UART_EFM32 || \
1015 DEBUG_UART_8250 || DEBUG_UART_PL01X
1017 config DEBUG_UART_VIRT
1018 hex "Virtual base address of debug UART"
1019 default 0xe0010fe0 if ARCH_RPC
1020 default 0xf0000be0 if ARCH_EBSA110
1021 default 0xf0009000 if DEBUG_CNS3XXX
1022 default 0xf01fb000 if DEBUG_NOMADIK_UART
1023 default 0xf0201000 if DEBUG_BCM2835
1024 default 0xf11f1000 if ARCH_VERSATILE
1025 default 0xf1600000 if ARCH_INTEGRATOR
1026 default 0xf1c28000 if DEBUG_SUNXI_UART0
1027 default 0xf1c28400 if DEBUG_SUNXI_UART1
1028 default 0xf2100000 if DEBUG_PXA_UART1
1029 default 0xf4090000 if ARCH_LPC32XX
1030 default 0xf4200000 if ARCH_GEMINI
1031 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1032 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1033 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1034 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1035 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1036 default 0xfd000000 if ARCH_SPEAR13XX
1037 default 0xfd012000 if ARCH_MV78XX0
1038 default 0xfde12000 if ARCH_DOVE
1039 default 0xfe012000 if ARCH_ORION5X
1040 default 0xfe017000 if DEBUG_MMP_UART2
1041 default 0xfe018000 if DEBUG_MMP_UART3
1042 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1043 default 0xfe230000 if DEBUG_PICOXCELL_UART
1044 default 0xfe800000 if ARCH_IOP32X
1045 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HI3716_UART
1046 default 0xfeb24000 if DEBUG_RK3X_UART0
1047 default 0xfeb26000 if DEBUG_RK3X_UART1
1048 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1049 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1050 default 0xfec12000 if DEBUG_MVEBU_UART || DEBUG_MVEBU_UART_ALTERNATE
1051 default 0xfed60000 if DEBUG_RK29_UART0
1052 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1053 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1054 default 0xfec02000 if DEBUG_SOCFPGA_UART
1055 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1056 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1057 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1058 default 0xfed12000 if ARCH_KIRKWOOD
1059 default 0xfedc0000 if ARCH_EP93XX
1060 default 0xfee003f8 if FOOTBRIDGE
1061 default 0xfee08300 if DEBUG_DAVINCI_TNETV107X_UART1
1062 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1063 default 0xfef36000 if DEBUG_HIGHBANK_UART
1064 default 0xfee82340 if ARCH_IOP13XX
1065 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1066 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1067 default 0xfefff700 if ARCH_IOP33X
1068 default 0xff003000 if DEBUG_U300_UART
1069 default DEBUG_UART_PHYS if !MMU
1070 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1071 DEBUG_UART_8250 || DEBUG_UART_PL01X
1073 config DEBUG_UART_8250_SHIFT
1074 int "Register offset shift for the 8250 debug UART"
1075 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1076 default 0 if FOOTBRIDGE || ARCH_IOP32X
1079 config DEBUG_UART_8250_WORD
1080 bool "Use 32-bit accesses for 8250 UART"
1081 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1082 depends on DEBUG_UART_8250_SHIFT >= 2
1083 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART || \
1085 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1086 DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_DAVINCI_TNETV107X_UART1
1088 config DEBUG_UART_8250_FLOW_CONTROL
1089 bool "Enable flow control for 8250 UART"
1090 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1091 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1093 config DEBUG_UNCOMPRESS
1095 depends on ARCH_MULTIPLATFORM || ARCH_MSM
1096 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1097 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1099 This option influences the normal decompressor output for
1100 multiplatform kernels. Normally, multiplatform kernels disable
1101 decompressor output because it is not possible to know where to
1102 send the decompressor output.
1104 When this option is set, the selected DEBUG_LL output method
1105 will be re-used for normal decompressor output on multiplatform
1109 config UNCOMPRESS_INCLUDE
1111 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM
1112 default "mach/uncompress.h"
1118 Say Y here if you want to have an early console using the
1119 kernel low-level debugging functions. Add earlyprintk to your
1120 kernel parameters to enable this console.
1123 bool "On-chip ETM and ETB"
1126 Enables the on-chip embedded trace macrocell and embedded trace
1127 buffer driver that will allow you to collect traces of the
1130 config ARM_KPROBES_TEST
1131 tristate "Kprobes test module"
1132 depends on KPROBES && MODULES
1134 Perform tests of kprobes API and instruction set simulation.
1136 config PID_IN_CONTEXTIDR
1137 bool "Write the current PID to the CONTEXTIDR register"
1138 depends on CPU_COPY_V6
1140 Enabling this option causes the kernel to write the current PID to
1141 the PROCID field of the CONTEXTIDR register, at the expense of some
1142 additional instructions during context switch. Say Y here only if you
1143 are planning to use hardware trace tools with this kernel.