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