Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[deliverable/linux.git] / arch / arm / Kconfig.debug
1 menu "Kernel hacking"
2
3 source "lib/Kconfig.debug"
4
5 config 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
17 config 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 ;).
35 config 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
45 config 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
56 config OLD_MCOUNT
57 bool
58 depends on FUNCTION_TRACER && FRAME_POINTER
59 default y
60
61 config 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.
79 config 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
92 choice
93 prompt "Kernel low-level debugging port"
94 depends on DEBUG_LL
95
96 config DEBUG_ALPINE_UART0
97 bool "Kernel low-level debugging messages via Alpine UART0"
98 depends on ARCH_ALPINE
99 select DEBUG_UART_8250
100 help
101 Say Y here if you want kernel low-level debugging support
102 on Alpine based platforms.
103
104 config DEBUG_ASM9260_UART
105 bool "Kernel low-level debugging via asm9260 UART"
106 depends on MACH_ASM9260
107 help
108 Say Y here if you want the debug print routines to direct
109 their output to an UART or USART port on asm9260 based
110 machines.
111
112 DEBUG_UART_PHYS | DEBUG_UART_VIRT
113
114 0x80000000 | 0xf0000000 | UART0
115 0x80004000 | 0xf0004000 | UART1
116 0x80008000 | 0xf0008000 | UART2
117 0x8000c000 | 0xf000c000 | UART3
118 0x80010000 | 0xf0010000 | UART4
119 0x80014000 | 0xf0014000 | UART5
120 0x80018000 | 0xf0018000 | UART6
121 0x8001c000 | 0xf001c000 | UART7
122 0x80020000 | 0xf0020000 | UART8
123 0x80024000 | 0xf0024000 | UART9
124
125 config AT91_DEBUG_LL_DBGU0
126 bool "Kernel low-level debugging on rm9200, 9260/9g20, 9261/9g10, 9rl, 9x5, 9n12"
127 select DEBUG_AT91_UART
128 depends on ARCH_AT91
129 depends on SOC_AT91RM9200 || SOC_AT91SAM9
130
131 config AT91_DEBUG_LL_DBGU1
132 bool "Kernel low-level debugging on 9263, 9g45 and sama5d3"
133 select DEBUG_AT91_UART
134 depends on ARCH_AT91
135 depends on SOC_AT91SAM9 || SOC_SAMA5
136
137 config AT91_DEBUG_LL_DBGU2
138 bool "Kernel low-level debugging on sama5d4"
139 select DEBUG_AT91_UART
140 depends on ARCH_AT91
141 depends on SOC_SAMA5
142
143 config DEBUG_BCM2835
144 bool "Kernel low-level debugging on BCM2835 PL011 UART"
145 depends on ARCH_BCM2835
146 select DEBUG_UART_PL01X
147
148 config DEBUG_BCM_5301X
149 bool "Kernel low-level debugging on BCM5301X UART1"
150 depends on ARCH_BCM_5301X
151 select DEBUG_UART_8250
152
153 config DEBUG_BCM_KONA_UART
154 bool "Kernel low-level debugging messages via BCM KONA UART"
155 depends on ARCH_BCM_MOBILE
156 select DEBUG_UART_8250
157 help
158 Say Y here if you want kernel low-level debugging support
159 on Broadcom SoC platforms.
160 This low level debug works for Broadcom
161 mobile SoCs in the Kona family of chips (e.g. bcm28155,
162 bcm11351, etc...)
163
164 config DEBUG_BCM63XX
165 bool "Kernel low-level debugging on BCM63XX UART"
166 depends on ARCH_BCM_63XX
167 select DEBUG_UART_BCM63XX
168
169 config DEBUG_BERLIN_UART
170 bool "Marvell Berlin SoC Debug UART"
171 depends on ARCH_BERLIN
172 select DEBUG_UART_8250
173 help
174 Say Y here if you want kernel low-level debugging support
175 on Marvell Berlin SoC based platforms.
176
177 config DEBUG_BRCMSTB_UART
178 bool "Use BRCMSTB UART for low-level debug"
179 depends on ARCH_BRCMSTB
180 select DEBUG_UART_8250
181 help
182 Say Y here if you want the debug print routines to direct
183 their output to the first serial port on these devices.
184
185 If you have a Broadcom STB chip and would like early print
186 messages to appear over the UART, select this option.
187
188 config DEBUG_CLPS711X_UART1
189 bool "Kernel low-level debugging messages via UART1"
190 depends on ARCH_CLPS711X
191 help
192 Say Y here if you want the debug print routines to direct
193 their output to the first serial port on these devices.
194
195 config DEBUG_CLPS711X_UART2
196 bool "Kernel low-level debugging messages via UART2"
197 depends on ARCH_CLPS711X
198 help
199 Say Y here if you want the debug print routines to direct
200 their output to the second serial port on these devices.
201
202 config DEBUG_CNS3XXX
203 bool "Kernel Kernel low-level debugging on Cavium Networks CNS3xxx"
204 depends on ARCH_CNS3XXX
205 select DEBUG_UART_8250
206 help
207 Say Y here if you want the debug print routines to direct
208 their output to the CNS3xxx UART0.
209
210 config DEBUG_DAVINCI_DA8XX_UART1
211 bool "Kernel low-level debugging on DaVinci DA8XX using UART1"
212 depends on ARCH_DAVINCI_DA8XX
213 select DEBUG_UART_8250
214 help
215 Say Y here if you want the debug print routines to direct
216 their output to UART1 serial port on DaVinci DA8XX devices.
217
218 config DEBUG_DAVINCI_DA8XX_UART2
219 bool "Kernel low-level debugging on DaVinci DA8XX using UART2"
220 depends on ARCH_DAVINCI_DA8XX
221 select DEBUG_UART_8250
222 help
223 Say Y here if you want the debug print routines to direct
224 their output to UART2 serial port on DaVinci DA8XX devices.
225
226 config DEBUG_DAVINCI_DMx_UART0
227 bool "Kernel low-level debugging on DaVinci DMx using UART0"
228 depends on ARCH_DAVINCI_DMx
229 select DEBUG_UART_8250
230 help
231 Say Y here if you want the debug print routines to direct
232 their output to UART0 serial port on DaVinci DMx devices.
233
234 config DEBUG_ZYNQ_UART0
235 bool "Kernel low-level debugging on Xilinx Zynq using UART0"
236 depends on ARCH_ZYNQ
237 help
238 Say Y here if you want the debug print routines to direct
239 their output to UART0 on the Zynq platform.
240
241 config DEBUG_ZYNQ_UART1
242 bool "Kernel low-level debugging on Xilinx Zynq using UART1"
243 depends on ARCH_ZYNQ
244 help
245 Say Y here if you want the debug print routines to direct
246 their output to UART1 on the Zynq platform.
247
248 If you have a ZC702 board and want early boot messages to
249 appear on the USB serial adaptor, select this option.
250
251 config DEBUG_DC21285_PORT
252 bool "Kernel low-level debugging messages via footbridge serial port"
253 depends on FOOTBRIDGE
254 help
255 Say Y here if you want the debug print routines to direct
256 their output to the serial port in the DC21285 (Footbridge).
257
258 config DEBUG_DIGICOLOR_UA0
259 bool "Kernel low-level debugging messages via Digicolor UA0"
260 depends on ARCH_DIGICOLOR
261 help
262 Say Y here if you want the debug print routines to direct
263 their output to the UA0 serial port in the CX92755.
264
265 config DEBUG_FOOTBRIDGE_COM1
266 bool "Kernel low-level debugging messages via footbridge 8250 at PCI COM1"
267 depends on FOOTBRIDGE
268 help
269 Say Y here if you want the debug print routines to direct
270 their output to the 8250 at PCI COM1.
271
272 config DEBUG_HI3620_UART
273 bool "Hisilicon HI3620 Debug UART"
274 depends on ARCH_HI3xxx
275 select DEBUG_UART_PL01X
276 help
277 Say Y here if you want kernel low-level debugging support
278 on HI3620 UART.
279
280 config DEBUG_HI3716_UART
281 bool "Hisilicon Hi3716 Debug UART"
282 depends on ARCH_HI3xxx
283 select DEBUG_UART_PL01X
284 help
285 Say Y here if you want kernel low-level debugging support
286 on HI3716 UART.
287
288 config DEBUG_HIGHBANK_UART
289 bool "Kernel low-level debugging messages via Highbank UART"
290 depends on ARCH_HIGHBANK
291 select DEBUG_UART_PL01X
292 help
293 Say Y here if you want the debug print routines to direct
294 their output to the UART on Highbank based devices.
295
296 config DEBUG_HIP01_UART
297 bool "Hisilicon Hip01 Debug UART"
298 depends on ARCH_HIP01
299 select DEBUG_UART_8250
300 help
301 Say Y here if you want kernel low-level debugging support
302 on HIP01 UART.
303
304 config DEBUG_HIP04_UART
305 bool "Hisilicon HiP04 Debug UART"
306 depends on ARCH_HIP04
307 select DEBUG_UART_8250
308 help
309 Say Y here if you want kernel low-level debugging support
310 on HIP04 UART.
311
312 config DEBUG_HIX5HD2_UART
313 bool "Hisilicon Hix5hd2 Debug UART"
314 depends on ARCH_HIX5HD2
315 select DEBUG_UART_PL01X
316 help
317 Say Y here if you want kernel low-level debugging support
318 on Hix5hd2 UART.
319
320 config DEBUG_IMX1_UART
321 bool "i.MX1 Debug UART"
322 depends on SOC_IMX1
323 help
324 Say Y here if you want kernel low-level debugging support
325 on i.MX1.
326
327 config DEBUG_IMX23_UART
328 bool "i.MX23 Debug UART"
329 depends on SOC_IMX23
330 select DEBUG_UART_PL01X
331 help
332 Say Y here if you want kernel low-level debugging support
333 on i.MX23.
334
335 config DEBUG_IMX25_UART
336 bool "i.MX25 Debug UART"
337 depends on SOC_IMX25
338 help
339 Say Y here if you want kernel low-level debugging support
340 on i.MX25.
341
342 config DEBUG_IMX21_IMX27_UART
343 bool "i.MX21 and i.MX27 Debug UART"
344 depends on SOC_IMX21 || SOC_IMX27
345 help
346 Say Y here if you want kernel low-level debugging support
347 on i.MX21 or i.MX27.
348
349 config DEBUG_IMX28_UART
350 bool "i.MX28 Debug UART"
351 depends on SOC_IMX28
352 select DEBUG_UART_PL01X
353 help
354 Say Y here if you want kernel low-level debugging support
355 on i.MX28.
356
357 config DEBUG_IMX31_UART
358 bool "i.MX31 Debug UART"
359 depends on SOC_IMX31
360 help
361 Say Y here if you want kernel low-level debugging support
362 on i.MX31.
363
364 config DEBUG_IMX35_UART
365 bool "i.MX35 Debug UART"
366 depends on SOC_IMX35
367 help
368 Say Y here if you want kernel low-level debugging support
369 on i.MX35.
370
371 config DEBUG_IMX50_UART
372 bool "i.MX50 Debug UART"
373 depends on SOC_IMX50
374 help
375 Say Y here if you want kernel low-level debugging support
376 on i.MX50.
377
378 config DEBUG_IMX51_UART
379 bool "i.MX51 Debug UART"
380 depends on SOC_IMX51
381 help
382 Say Y here if you want kernel low-level debugging support
383 on i.MX51.
384
385 config DEBUG_IMX53_UART
386 bool "i.MX53 Debug UART"
387 depends on SOC_IMX53
388 help
389 Say Y here if you want kernel low-level debugging support
390 on i.MX53.
391
392 config DEBUG_IMX6Q_UART
393 bool "i.MX6Q/DL Debug UART"
394 depends on SOC_IMX6Q
395 help
396 Say Y here if you want kernel low-level debugging support
397 on i.MX6Q/DL.
398
399 config DEBUG_IMX6SL_UART
400 bool "i.MX6SL Debug UART"
401 depends on SOC_IMX6SL
402 help
403 Say Y here if you want kernel low-level debugging support
404 on i.MX6SL.
405
406 config DEBUG_IMX6SX_UART
407 bool "i.MX6SX Debug UART"
408 depends on SOC_IMX6SX
409 help
410 Say Y here if you want kernel low-level debugging support
411 on i.MX6SX.
412
413 config DEBUG_IMX7D_UART
414 bool "i.MX7D Debug UART"
415 depends on SOC_IMX7D
416 help
417 Say Y here if you want kernel low-level debugging support
418 on i.MX7D.
419
420 config DEBUG_KEYSTONE_UART0
421 bool "Kernel low-level debugging on KEYSTONE2 using UART0"
422 depends on ARCH_KEYSTONE
423 select DEBUG_UART_8250
424 help
425 Say Y here if you want the debug print routines to direct
426 their output to UART0 serial port on KEYSTONE2 devices.
427
428 config DEBUG_KEYSTONE_UART1
429 bool "Kernel low-level debugging on KEYSTONE2 using UART1"
430 depends on ARCH_KEYSTONE
431 select DEBUG_UART_8250
432 help
433 Say Y here if you want the debug print routines to direct
434 their output to UART1 serial port on KEYSTONE2 devices.
435
436 config DEBUG_KS8695_UART
437 bool "KS8695 Debug UART"
438 depends on ARCH_KS8695
439 help
440 Say Y here if you want kernel low-level debugging support
441 on KS8695.
442
443 config DEBUG_LPC18XX_UART0
444 bool "Kernel low-level debugging via LPC18xx/43xx UART0"
445 depends on ARCH_LPC18XX
446 select DEBUG_UART_8250
447 help
448 Say Y here if you want kernel low-level debugging support
449 on NXP LPC18xx/43xx UART0.
450
451 config DEBUG_MESON_UARTAO
452 bool "Kernel low-level debugging via Meson6 UARTAO"
453 depends on ARCH_MESON
454 help
455 Say Y here if you want kernel low-lever debugging support
456 on Amlogic Meson6 based platforms on the UARTAO.
457
458 config DEBUG_MMP_UART2
459 bool "Kernel low-level debugging message via MMP UART2"
460 depends on ARCH_MMP
461 select DEBUG_UART_8250
462 help
463 Say Y here if you want kernel low-level debugging support
464 on MMP UART2.
465
466 config DEBUG_MMP_UART3
467 bool "Kernel low-level debugging message via MMP UART3"
468 depends on ARCH_MMP
469 select DEBUG_UART_8250
470 help
471 Say Y here if you want kernel low-level debugging support
472 on MMP UART3.
473
474 config DEBUG_QCOM_UARTDM
475 bool "Kernel low-level debugging messages via QCOM UARTDM"
476 depends on ARCH_QCOM
477 help
478 Say Y here if you want the debug print routines to direct
479 their output to the serial port on Qualcomm devices.
480
481 ARCH DEBUG_UART_PHYS DEBUG_UART_VIRT
482 APQ8064 0x16640000 0xf0040000
483 APQ8084 0xf995e000 0xfa75e000
484 MSM8X60 0x19c40000 0xf0040000
485 MSM8960 0x16440000 0xf0040000
486 MSM8974 0xf991e000 0xfa71e000
487
488 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
489 options based on your needs.
490
491 config DEBUG_MVEBU_UART0
492 bool "Kernel low-level debugging messages via MVEBU UART0 (old bootloaders)"
493 depends on ARCH_MVEBU
494 select DEBUG_UART_8250
495 help
496 Say Y here if you want kernel low-level debugging support
497 on MVEBU based platforms on UART0.
498
499 This option should be used with the old bootloaders
500 that left the internal registers mapped at
501 0xd0000000. As of today, this is the case on
502 platforms such as the Globalscale Mirabox or the
503 Plathome OpenBlocks AX3, when using the original
504 bootloader.
505
506 If the wrong DEBUG_MVEBU_UART* option is selected,
507 when u-boot hands over to the kernel, the system
508 silently crashes, with no serial output at all.
509
510 config DEBUG_MVEBU_UART0_ALTERNATE
511 bool "Kernel low-level debugging messages via MVEBU UART0 (new bootloaders)"
512 depends on ARCH_MVEBU
513 select DEBUG_UART_8250
514 help
515 Say Y here if you want kernel low-level debugging support
516 on MVEBU based platforms on UART0.
517
518 This option should be used with the new bootloaders
519 that remap the internal registers at 0xf1000000.
520
521 If the wrong DEBUG_MVEBU_UART* option is selected,
522 when u-boot hands over to the kernel, the system
523 silently crashes, with no serial output at all.
524
525 config DEBUG_MVEBU_UART1_ALTERNATE
526 bool "Kernel low-level debugging messages via MVEBU UART1 (new bootloaders)"
527 depends on ARCH_MVEBU
528 select DEBUG_UART_8250
529 help
530 Say Y here if you want kernel low-level debugging support
531 on MVEBU based platforms on UART1.
532
533 This option should be used with the new bootloaders
534 that remap the internal registers at 0xf1000000.
535
536 If the wrong DEBUG_MVEBU_UART* option is selected,
537 when u-boot hands over to the kernel, the system
538 silently crashes, with no serial output at all.
539
540 config DEBUG_VF_UART
541 bool "Vybrid UART"
542 depends on SOC_VF610
543 help
544 Say Y here if you want kernel low-level debugging support
545 on Vybrid based platforms.
546
547 config DEBUG_NETX_UART
548 bool "Kernel low-level debugging messages via NetX UART"
549 depends on ARCH_NETX
550 help
551 Say Y here if you want kernel low-level debugging support
552 on Hilscher NetX based platforms.
553
554 config DEBUG_NOMADIK_UART
555 bool "Kernel low-level debugging messages via NOMADIK UART"
556 depends on ARCH_NOMADIK
557 select DEBUG_UART_PL01X
558 help
559 Say Y here if you want kernel low-level debugging support
560 on NOMADIK based platforms.
561
562 config DEBUG_NSPIRE_CLASSIC_UART
563 bool "Kernel low-level debugging via TI-NSPIRE 8250 UART"
564 depends on ARCH_NSPIRE
565 select DEBUG_UART_8250
566 help
567 Say Y here if you want kernel low-level debugging support
568 on TI-NSPIRE classic models.
569
570 config DEBUG_NSPIRE_CX_UART
571 bool "Kernel low-level debugging via TI-NSPIRE PL011 UART"
572 depends on ARCH_NSPIRE
573 select DEBUG_UART_PL01X
574 help
575 Say Y here if you want kernel low-level debugging support
576 on TI-NSPIRE CX models.
577
578 config DEBUG_OMAP1UART1
579 bool "Kernel low-level debugging via OMAP1 UART1"
580 depends on ARCH_OMAP1
581 select DEBUG_UART_8250
582 help
583 Say Y here if you want kernel low-level debugging support
584 on OMAP1 based platforms (except OMAP730) on the UART1.
585
586 config DEBUG_OMAP1UART2
587 bool "Kernel low-level debugging via OMAP1 UART2"
588 depends on ARCH_OMAP1
589 select DEBUG_UART_8250
590 help
591 Say Y here if you want kernel low-level debugging support
592 on OMAP1 based platforms (except OMAP730) on the UART2.
593
594 config DEBUG_OMAP1UART3
595 bool "Kernel low-level debugging via OMAP1 UART3"
596 depends on ARCH_OMAP1
597 select DEBUG_UART_8250
598 help
599 Say Y here if you want kernel low-level debugging support
600 on OMAP1 based platforms (except OMAP730) on the UART3.
601
602 config DEBUG_OMAP2UART1
603 bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
604 depends on ARCH_OMAP2PLUS
605 select DEBUG_OMAP2PLUS_UART
606 help
607 This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
608 omap3 torpedo and 3530 lv som.
609
610 config DEBUG_OMAP2UART2
611 bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
612 depends on ARCH_OMAP2PLUS
613 select DEBUG_OMAP2PLUS_UART
614
615 config DEBUG_OMAP2UART3
616 bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
617 depends on ARCH_OMAP2PLUS
618 select DEBUG_OMAP2PLUS_UART
619
620 config DEBUG_OMAP3UART3
621 bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
622 depends on ARCH_OMAP2PLUS
623 select DEBUG_OMAP2PLUS_UART
624 help
625 This covers at least cm_t3x, beagle, crane, devkit8000,
626 igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
627 and 3517evm.
628
629 config DEBUG_OMAP4UART3
630 bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
631 depends on ARCH_OMAP2PLUS
632 select DEBUG_OMAP2PLUS_UART
633
634 config DEBUG_OMAP3UART4
635 bool "Kernel low-level debugging messages via OMAP36XX UART4"
636 depends on ARCH_OMAP2PLUS
637 select DEBUG_OMAP2PLUS_UART
638
639 config DEBUG_OMAP4UART4
640 bool "Kernel low-level debugging messages via OMAP4/5 UART4"
641 depends on ARCH_OMAP2PLUS
642 select DEBUG_OMAP2PLUS_UART
643
644 config DEBUG_OMAP7XXUART1
645 bool "Kernel low-level debugging via OMAP730 UART1"
646 depends on ARCH_OMAP730
647 select DEBUG_UART_8250
648 help
649 Say Y here if you want kernel low-level debugging support
650 on OMAP730 based platforms on the UART1.
651
652 config DEBUG_OMAP7XXUART2
653 bool "Kernel low-level debugging via OMAP730 UART2"
654 depends on ARCH_OMAP730
655 select DEBUG_UART_8250
656 help
657 Say Y here if you want kernel low-level debugging support
658 on OMAP730 based platforms on the UART2.
659
660 config DEBUG_OMAP7XXUART3
661 bool "Kernel low-level debugging via OMAP730 UART3"
662 depends on ARCH_OMAP730
663 select DEBUG_UART_8250
664 help
665 Say Y here if you want kernel low-level debugging support
666 on OMAP730 based platforms on the UART3.
667
668 config DEBUG_TI81XXUART1
669 bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
670 depends on ARCH_OMAP2PLUS
671 select DEBUG_OMAP2PLUS_UART
672
673 config DEBUG_TI81XXUART2
674 bool "Kernel low-level debugging messages via TI81XX UART2"
675 depends on ARCH_OMAP2PLUS
676 select DEBUG_OMAP2PLUS_UART
677
678 config DEBUG_TI81XXUART3
679 bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
680 depends on ARCH_OMAP2PLUS
681 select DEBUG_OMAP2PLUS_UART
682
683 config DEBUG_AM33XXUART1
684 bool "Kernel low-level debugging messages via AM33XX UART1"
685 depends on ARCH_OMAP2PLUS
686 select DEBUG_OMAP2PLUS_UART
687
688 config DEBUG_ZOOM_UART
689 bool "Kernel low-level debugging messages via Zoom2/3 UART"
690 depends on ARCH_OMAP2PLUS
691 select DEBUG_OMAP2PLUS_UART
692
693 config DEBUG_PICOXCELL_UART
694 depends on ARCH_PICOXCELL
695 bool "Use PicoXcell UART for low-level debug"
696 select DEBUG_UART_8250
697 help
698 Say Y here if you want kernel low-level debugging support
699 on PicoXcell based platforms.
700
701 config DEBUG_PXA_UART1
702 depends on ARCH_PXA
703 bool "Use PXA UART1 for low-level debug"
704 select DEBUG_UART_8250
705 help
706 Say Y here if you want kernel low-level debugging support
707 on PXA UART1.
708
709 config DEBUG_REALVIEW_STD_PORT
710 bool "RealView Default UART"
711 depends on ARCH_REALVIEW
712 select DEBUG_UART_PL01X
713 help
714 Say Y here if you want the debug print routines to direct
715 their output to the serial port on RealView EB, PB11MP, PBA8
716 and PBX platforms.
717
718 config DEBUG_REALVIEW_PB1176_PORT
719 bool "RealView PB1176 UART"
720 depends on MACH_REALVIEW_PB1176
721 select DEBUG_UART_PL01X
722 help
723 Say Y here if you want the debug print routines to direct
724 their output to the standard serial port on the RealView
725 PB1176 platform.
726
727 config DEBUG_RK29_UART0
728 bool "Kernel low-level debugging messages via Rockchip RK29 UART0"
729 depends on ARCH_ROCKCHIP
730 select DEBUG_UART_8250
731 help
732 Say Y here if you want kernel low-level debugging support
733 on Rockchip based platforms.
734
735 config DEBUG_RK29_UART1
736 bool "Kernel low-level debugging messages via Rockchip RK29 UART1"
737 depends on ARCH_ROCKCHIP
738 select DEBUG_UART_8250
739 help
740 Say Y here if you want kernel low-level debugging support
741 on Rockchip based platforms.
742
743 config DEBUG_RK29_UART2
744 bool "Kernel low-level debugging messages via Rockchip RK29 UART2"
745 depends on ARCH_ROCKCHIP
746 select DEBUG_UART_8250
747 help
748 Say Y here if you want kernel low-level debugging support
749 on Rockchip based platforms.
750
751 config DEBUG_RK3X_UART0
752 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART0"
753 depends on ARCH_ROCKCHIP
754 select DEBUG_UART_8250
755 help
756 Say Y here if you want kernel low-level debugging support
757 on Rockchip based platforms.
758
759 config DEBUG_RK3X_UART1
760 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART1"
761 depends on ARCH_ROCKCHIP
762 select DEBUG_UART_8250
763 help
764 Say Y here if you want kernel low-level debugging support
765 on Rockchip based platforms.
766
767 config DEBUG_RK3X_UART2
768 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART2"
769 depends on ARCH_ROCKCHIP
770 select DEBUG_UART_8250
771 help
772 Say Y here if you want kernel low-level debugging support
773 on Rockchip based platforms.
774
775 config DEBUG_RK3X_UART3
776 bool "Kernel low-level debugging messages via Rockchip RK30/RK31 UART3"
777 depends on ARCH_ROCKCHIP
778 select DEBUG_UART_8250
779 help
780 Say Y here if you want kernel low-level debugging support
781 on Rockchip based platforms.
782
783 config DEBUG_RK32_UART2
784 bool "Kernel low-level debugging messages via Rockchip RK32 UART2"
785 depends on ARCH_ROCKCHIP
786 select DEBUG_UART_8250
787 help
788 Say Y here if you want kernel low-level debugging support
789 on Rockchip RK32xx based platforms.
790
791 config DEBUG_R7S72100_SCIF2
792 bool "Kernel low-level debugging messages via SCIF2 on R7S72100"
793 depends on ARCH_R7S72100
794 help
795 Say Y here if you want kernel low-level debugging support
796 via SCIF2 on Renesas RZ/A1H (R7S72100).
797
798 config DEBUG_RCAR_GEN1_SCIF0
799 bool "Kernel low-level debugging messages via SCIF0 on R8A7778"
800 depends on ARCH_R8A7778
801 help
802 Say Y here if you want kernel low-level debugging support
803 via SCIF0 on Renesas R-Car M1A (R8A7778).
804
805 config DEBUG_RCAR_GEN1_SCIF2
806 bool "Kernel low-level debugging messages via SCIF2 on R8A7779"
807 depends on ARCH_R8A7779
808 help
809 Say Y here if you want kernel low-level debugging support
810 via SCIF2 on Renesas R-Car H1 (R8A7779).
811
812 config DEBUG_RCAR_GEN2_SCIF0
813 bool "Kernel low-level debugging messages via SCIF0 on R8A7790/R8A7791/R8A7793"
814 depends on ARCH_R8A7790 || ARCH_R8A7791 || ARCH_R8A7793
815 help
816 Say Y here if you want kernel low-level debugging support
817 via SCIF0 on Renesas R-Car H2 (R8A7790), M2-W (R8A7791), or
818 M2-N (R8A7793).
819
820 config DEBUG_RCAR_GEN2_SCIF2
821 bool "Kernel low-level debugging messages via SCIF2 on R8A7794"
822 depends on ARCH_R8A7794
823 help
824 Say Y here if you want kernel low-level debugging support
825 via SCIF2 on Renesas R-Car E2 (R8A7794).
826
827 config DEBUG_RMOBILE_SCIFA0
828 bool "Kernel low-level debugging messages via SCIFA0 on R8A73A4"
829 depends on ARCH_R8A73A4
830 help
831 Say Y here if you want kernel low-level debugging support
832 via SCIFA0 on Renesas R-Mobile APE6 (R8A73A4).
833
834 config DEBUG_RMOBILE_SCIFA1
835 bool "Kernel low-level debugging messages via SCIFA1 on R8A7740"
836 depends on ARCH_R8A7740
837 help
838 Say Y here if you want kernel low-level debugging support
839 via SCIFA1 on Renesas R-Mobile A1 (R8A7740).
840
841 config DEBUG_RMOBILE_SCIFA4
842 bool "Kernel low-level debugging messages via SCIFA4 on SH73A0"
843 depends on ARCH_SH73A0
844 help
845 Say Y here if you want kernel low-level debugging support
846 via SCIFA4 on Renesas SH-Mobile AG5 (SH73A0).
847
848 config DEBUG_S3C_UART0
849 depends on PLAT_SAMSUNG
850 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
851 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
852 select DEBUG_S5PV210_UART if ARCH_S5PV210
853 bool "Use Samsung S3C UART 0 for low-level debug"
854 help
855 Say Y here if you want the debug print routines to direct
856 their output to UART 0. The port must have been initialised
857 by the boot-loader before use.
858
859 config DEBUG_S3C_UART1
860 depends on PLAT_SAMSUNG
861 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
862 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
863 select DEBUG_S5PV210_UART if ARCH_S5PV210
864 bool "Use Samsung S3C UART 1 for low-level debug"
865 help
866 Say Y here if you want the debug print routines to direct
867 their output to UART 1. The port must have been initialised
868 by the boot-loader before use.
869
870 config DEBUG_S3C_UART2
871 depends on PLAT_SAMSUNG
872 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
873 select DEBUG_S3C24XX_UART if ARCH_S3C24XX
874 select DEBUG_S5PV210_UART if ARCH_S5PV210
875 bool "Use Samsung S3C UART 2 for low-level debug"
876 help
877 Say Y here if you want the debug print routines to direct
878 their output to UART 2. The port must have been initialised
879 by the boot-loader before use.
880
881 config DEBUG_S3C_UART3
882 depends on PLAT_SAMSUNG && (ARCH_EXYNOS || ARCH_S5PV210)
883 select DEBUG_EXYNOS_UART if ARCH_EXYNOS
884 select DEBUG_S5PV210_UART if ARCH_S5PV210
885 bool "Use Samsung S3C UART 3 for low-level debug"
886 help
887 Say Y here if you want the debug print routines to direct
888 their output to UART 3. The port must have been initialised
889 by the boot-loader before use.
890
891 config DEBUG_S3C2410_UART0
892 depends on ARCH_S3C24XX
893 select DEBUG_S3C2410_UART
894 bool "Use S3C2410/S3C2412 UART 0 for low-level debug"
895 help
896 Say Y here if you want the debug print routines to direct
897 their output to UART 0. The port must have been initialised
898 by the boot-loader before use.
899
900 config DEBUG_S3C2410_UART1
901 depends on ARCH_S3C24XX
902 select DEBUG_S3C2410_UART
903 bool "Use S3C2410/S3C2412 UART 1 for low-level debug"
904 help
905 Say Y here if you want the debug print routines to direct
906 their output to UART 1. The port must have been initialised
907 by the boot-loader before use.
908
909 config DEBUG_S3C2410_UART2
910 depends on ARCH_S3C24XX
911 select DEBUG_S3C2410_UART
912 bool "Use S3C2410/S3C2412 UART 2 for low-level debug"
913 help
914 Say Y here if you want the debug print routines to direct
915 their output to UART 2. The port must have been initialised
916 by the boot-loader before use.
917
918 config DEBUG_SA1100
919 depends on ARCH_SA1100
920 bool "Use SA1100 UARTs for low-level debug"
921 help
922 Say Y here if you want kernel low-level debugging support
923 on SA-11x0 UART ports. The kernel will check for the first
924 enabled UART in a sequence 3-1-2.
925
926 config DEBUG_SOCFPGA_UART0
927 depends on ARCH_SOCFPGA
928 bool "Use SOCFPGA UART0 for low-level debug"
929 select DEBUG_UART_8250
930 help
931 Say Y here if you want kernel low-level debugging support
932 on SOCFPGA(Cyclone 5 and Arria 5) based platforms.
933
934 config DEBUG_SOCFPGA_UART1
935 depends on ARCH_SOCFPGA
936 bool "Use SOCFPGA UART1 for low-level debug"
937 select DEBUG_UART_8250
938 help
939 Say Y here if you want kernel low-level debugging support
940 on SOCFPGA(Arria 10) based platforms.
941
942
943 config DEBUG_SUN9I_UART0
944 bool "Kernel low-level debugging messages via sun9i UART0"
945 depends on MACH_SUN9I
946 select DEBUG_UART_8250
947 help
948 Say Y here if you want kernel low-level debugging support
949 on Allwinner A80 based platforms on the UART0.
950
951 config DEBUG_SUNXI_UART0
952 bool "Kernel low-level debugging messages via sunXi UART0"
953 depends on ARCH_SUNXI
954 select DEBUG_UART_8250
955 help
956 Say Y here if you want kernel low-level debugging support
957 on Allwinner A1X based platforms on the UART0.
958
959 config DEBUG_SUNXI_UART1
960 bool "Kernel low-level debugging messages via sunXi UART1"
961 depends on ARCH_SUNXI
962 select DEBUG_UART_8250
963 help
964 Say Y here if you want kernel low-level debugging support
965 on Allwinner A1X based platforms on the UART1.
966
967 config DEBUG_SUNXI_R_UART
968 bool "Kernel low-level debugging messages via sunXi R_UART"
969 depends on MACH_SUN6I || MACH_SUN8I
970 select DEBUG_UART_8250
971 help
972 Say Y here if you want kernel low-level debugging support
973 on Allwinner A31/A23 based platforms on the R_UART.
974
975 config TEGRA_DEBUG_UART_AUTO_ODMDATA
976 bool "Kernel low-level debugging messages via Tegra UART via ODMDATA"
977 depends on ARCH_TEGRA
978 select DEBUG_TEGRA_UART
979 help
980 Automatically determines which UART to use for low-level
981 debug based on the ODMDATA value. This value is part of
982 the BCT, and is written to the boot memory device using
983 nvflash, or other flashing tool. When bits 19:18 are 3,
984 then bits 17:15 indicate which UART to use; 0/1/2/3/4
985 are UART A/B/C/D/E.
986
987 config TEGRA_DEBUG_UARTA
988 bool "Kernel low-level debugging messages via Tegra UART A"
989 depends on ARCH_TEGRA
990 select DEBUG_TEGRA_UART
991 help
992 Say Y here if you want kernel low-level debugging support
993 on Tegra based platforms.
994
995 config TEGRA_DEBUG_UARTB
996 bool "Kernel low-level debugging messages via Tegra UART B"
997 depends on ARCH_TEGRA
998 select DEBUG_TEGRA_UART
999 help
1000 Say Y here if you want kernel low-level debugging support
1001 on Tegra based platforms.
1002
1003 config TEGRA_DEBUG_UARTC
1004 bool "Kernel low-level debugging messages via Tegra UART C"
1005 depends on ARCH_TEGRA
1006 select DEBUG_TEGRA_UART
1007 help
1008 Say Y here if you want kernel low-level debugging support
1009 on Tegra based platforms.
1010
1011 config TEGRA_DEBUG_UARTD
1012 bool "Kernel low-level debugging messages via Tegra UART D"
1013 depends on ARCH_TEGRA
1014 select DEBUG_TEGRA_UART
1015 help
1016 Say Y here if you want kernel low-level debugging support
1017 on Tegra based platforms.
1018
1019 config TEGRA_DEBUG_UARTE
1020 bool "Kernel low-level debugging messages via Tegra UART E"
1021 depends on ARCH_TEGRA
1022 select DEBUG_TEGRA_UART
1023 help
1024 Say Y here if you want kernel low-level debugging support
1025 on Tegra based platforms.
1026
1027 config DEBUG_SIRFPRIMA2_UART1
1028 bool "Kernel low-level debugging messages via SiRFprimaII UART1"
1029 depends on ARCH_PRIMA2
1030 select DEBUG_SIRFSOC_UART
1031 help
1032 Say Y here if you want the debug print routines to direct
1033 their output to the uart1 port on SiRFprimaII devices.
1034
1035 config DEBUG_SIRFATLAS7_UART0
1036 bool "Kernel low-level debugging messages via SiRFatlas7 UART0"
1037 depends on ARCH_ATLAS7
1038 select DEBUG_SIRFSOC_UART
1039 help
1040 Say Y here if you want the debug print routines to direct
1041 their output to the uart0 port on SiRFATLAS7 devices.The uart0
1042 is used on SiRFATLAS7 as a extra debug port.sometimes an extra
1043 debug port can be very useful.
1044
1045 config DEBUG_SIRFATLAS7_UART1
1046 bool "Kernel low-level debugging messages via SiRFatlas7 UART1"
1047 depends on ARCH_ATLAS7
1048 select DEBUG_SIRFSOC_UART
1049 help
1050 Say Y here if you want the debug print routines to direct
1051 their output to the uart1 port on SiRFATLAS7 devices.
1052
1053 config STIH41X_DEBUG_ASC2
1054 bool "Use StiH415/416 ASC2 UART for low-level debug"
1055 depends on ARCH_STI
1056 select DEBUG_STI_UART
1057 help
1058 Say Y here if you want kernel low-level debugging support
1059 on STiH415/416 based platforms like b2000, which has
1060 default UART wired up to ASC2.
1061
1062 If unsure, say N.
1063
1064 config STIH41X_DEBUG_SBC_ASC1
1065 bool "Use StiH415/416 SBC ASC1 UART for low-level debug"
1066 depends on ARCH_STI
1067 select DEBUG_STI_UART
1068 help
1069 Say Y here if you want kernel low-level debugging support
1070 on STiH415/416 based platforms like b2020. which has
1071 default UART wired up to SBC ASC1.
1072
1073 If unsure, say N.
1074
1075 config DEBUG_U300_UART
1076 bool "Kernel low-level debugging messages via U300 UART0"
1077 depends on ARCH_U300
1078 select DEBUG_UART_PL01X
1079 help
1080 Say Y here if you want the debug print routines to direct
1081 their output to the uart port on U300 devices.
1082
1083 config DEBUG_UX500_UART
1084 depends on ARCH_U8500
1085 bool "Use Ux500 UART for low-level debug"
1086 help
1087 Say Y here if you want kernel low-level debugging support
1088 on Ux500 based platforms.
1089
1090 config DEBUG_MT6589_UART0
1091 bool "Mediatek mt6589 UART0"
1092 depends on ARCH_MEDIATEK
1093 select DEBUG_UART_8250
1094 help
1095 Say Y here if you want kernel low-level debugging support
1096 for Mediatek mt6589 based platforms on UART0.
1097
1098 config DEBUG_MT8127_UART0
1099 bool "Mediatek mt8127/mt6592 UART0"
1100 depends on ARCH_MEDIATEK
1101 select DEBUG_UART_8250
1102 help
1103 Say Y here if you want kernel low-level debugging support
1104 for Mediatek mt8127 based platforms on UART0.
1105
1106 config DEBUG_MT8135_UART3
1107 bool "Mediatek mt8135 UART3"
1108 depends on ARCH_MEDIATEK
1109 select DEBUG_UART_8250
1110 help
1111 Say Y here if you want kernel low-level debugging support
1112 for Mediatek mt8135 based platforms on UART3.
1113
1114 config DEBUG_VEXPRESS_UART0_DETECT
1115 bool "Autodetect UART0 on Versatile Express Cortex-A core tiles"
1116 depends on ARCH_VEXPRESS && CPU_CP15_MMU
1117 help
1118 This option enables a simple heuristic which tries to determine
1119 the motherboard's memory map variant (original or RS1) and then
1120 choose the relevant UART0 base address.
1121
1122 Note that this will only work with standard A-class core tiles,
1123 and may fail with non-standard SMM or custom software models.
1124
1125 config DEBUG_VEXPRESS_UART0_CA9
1126 bool "Use PL011 UART0 at 0x10009000 (V2P-CA9 core tile)"
1127 depends on ARCH_VEXPRESS
1128 select DEBUG_UART_PL01X
1129 help
1130 This option selects UART0 at 0x10009000. Except for custom models,
1131 this applies only to the V2P-CA9 tile.
1132
1133 config DEBUG_VEXPRESS_UART0_RS1
1134 bool "Use PL011 UART0 at 0x1c090000 (RS1 complaint tiles)"
1135 depends on ARCH_VEXPRESS
1136 select DEBUG_UART_PL01X
1137 help
1138 This option selects UART0 at 0x1c090000. This applies to most
1139 of the tiles using the RS1 memory map, including all new A-class
1140 core tiles, FPGA-based SMMs and software models.
1141
1142 config DEBUG_VEXPRESS_UART0_CRX
1143 bool "Use PL011 UART0 at 0xb0090000 (Cortex-R compliant tiles)"
1144 depends on ARCH_VEXPRESS && !MMU
1145 select DEBUG_UART_PL01X
1146 help
1147 This option selects UART0 at 0xb0090000. This is appropriate for
1148 Cortex-R series tiles and SMMs, such as Cortex-R5 and Cortex-R7
1149
1150 config DEBUG_VT8500_UART0
1151 bool "Use UART0 on VIA/Wondermedia SoCs"
1152 depends on ARCH_VT8500
1153 help
1154 This option selects UART0 on VIA/Wondermedia System-on-a-chip
1155 devices, including VT8500, WM8505, WM8650 and WM8850.
1156
1157 config DEBUG_ICEDCC
1158 bool "Kernel low-level debugging via EmbeddedICE DCC channel"
1159 help
1160 Say Y here if you want the debug print routines to direct
1161 their output to the EmbeddedICE macrocell's DCC channel using
1162 co-processor 14. This is known to work on the ARM9 style ICE
1163 channel and on the XScale with the PEEDI.
1164
1165 Note that the system will appear to hang during boot if there
1166 is nothing connected to read from the DCC.
1167
1168 config DEBUG_SEMIHOSTING
1169 bool "Kernel low-level debug output via semihosting I/O"
1170 help
1171 Semihosting enables code running on an ARM target to use
1172 the I/O facilities on a host debugger/emulator through a
1173 simple SVC call. The host debugger or emulator must have
1174 semihosting enabled for the special svc call to be trapped
1175 otherwise the kernel will crash.
1176
1177 This is known to work with OpenOCD, as well as
1178 ARM's Fast Models, or any other controlling environment
1179 that implements semihosting.
1180
1181 For more details about semihosting, please see
1182 chapter 8 of DUI0203I_rvct_developer_guide.pdf from ARM Ltd.
1183
1184 config DEBUG_ZTE_ZX
1185 bool "Use ZTE ZX UART"
1186 select DEBUG_UART_PL01X
1187 depends on ARCH_ZX
1188 help
1189 Say Y here if you are enabling ZTE ZX296702 SOC and need
1190 debug uart support.
1191
1192 This option is preferred over the platform specific
1193 options; the platform specific options are deprecated
1194 and will be soon removed.
1195
1196 config DEBUG_LL_UART_8250
1197 bool "Kernel low-level debugging via 8250 UART"
1198 help
1199 Say Y here if you wish the debug print routes to direct
1200 their output to an 8250 UART. You can use this option
1201 to provide the parameters for the 8250 UART rather than
1202 selecting one of the platform specific options above if
1203 you know the parameters for the port.
1204
1205 This option is preferred over the platform specific
1206 options; the platform specific options are deprecated
1207 and will be soon removed.
1208
1209 config DEBUG_LL_UART_EFM32
1210 bool "Kernel low-level debugging via efm32 UART"
1211 depends on ARCH_EFM32
1212 help
1213 Say Y here if you want the debug print routines to direct
1214 their output to an UART or USART port on efm32 based
1215 machines. Use the following addresses for DEBUG_UART_PHYS:
1216
1217 0x4000c000 | USART0
1218 0x4000c400 | USART1
1219 0x4000c800 | USART2
1220 0x4000e000 | UART0
1221 0x4000e400 | UART1
1222
1223 config DEBUG_LL_UART_PL01X
1224 bool "Kernel low-level debugging via ARM Ltd PL01x Primecell UART"
1225 help
1226 Say Y here if you wish the debug print routes to direct
1227 their output to a PL01x Primecell UART. You can use
1228 this option to provide the parameters for the UART
1229 rather than selecting one of the platform specific
1230 options above if you know the parameters for the port.
1231
1232 This option is preferred over the platform specific
1233 options; the platform specific options are deprecated
1234 and will be soon removed.
1235
1236 endchoice
1237
1238 config DEBUG_AT91_UART
1239 bool
1240 depends on ARCH_AT91
1241
1242 config DEBUG_EXYNOS_UART
1243 bool
1244
1245 config DEBUG_S3C2410_UART
1246 bool
1247 select DEBUG_S3C24XX_UART
1248
1249 config DEBUG_S3C24XX_UART
1250 bool
1251
1252 config DEBUG_S5PV210_UART
1253 bool
1254
1255 config DEBUG_OMAP2PLUS_UART
1256 bool
1257 depends on ARCH_OMAP2PLUS
1258
1259 config DEBUG_IMX_UART_PORT
1260 int "i.MX Debug UART Port Selection" if DEBUG_IMX1_UART || \
1261 DEBUG_IMX25_UART || \
1262 DEBUG_IMX21_IMX27_UART || \
1263 DEBUG_IMX31_UART || \
1264 DEBUG_IMX35_UART || \
1265 DEBUG_IMX50_UART || \
1266 DEBUG_IMX51_UART || \
1267 DEBUG_IMX53_UART || \
1268 DEBUG_IMX6Q_UART || \
1269 DEBUG_IMX6SL_UART || \
1270 DEBUG_IMX6SX_UART || \
1271 DEBUG_IMX7D_UART
1272 default 1
1273 depends on ARCH_MXC
1274 help
1275 Choose UART port on which kernel low-level debug messages
1276 should be output.
1277
1278 config DEBUG_VF_UART_PORT
1279 int "Vybrid Debug UART Port Selection" if DEBUG_VF_UART
1280 default 1
1281 range 0 3
1282 depends on SOC_VF610
1283 help
1284 Choose UART port on which kernel low-level debug messages
1285 should be output.
1286
1287 config DEBUG_TEGRA_UART
1288 bool
1289 depends on ARCH_TEGRA
1290
1291 config DEBUG_STI_UART
1292 bool
1293 depends on ARCH_STI
1294
1295 config DEBUG_SIRFSOC_UART
1296 bool
1297 depends on ARCH_SIRF
1298
1299 config DEBUG_LL_INCLUDE
1300 string
1301 default "debug/sa1100.S" if DEBUG_SA1100
1302 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
1303 default "debug/at91.S" if DEBUG_AT91_UART
1304 default "debug/asm9260.S" if DEBUG_ASM9260_UART
1305 default "debug/clps711x.S" if DEBUG_CLPS711X_UART1 || DEBUG_CLPS711X_UART2
1306 default "debug/meson.S" if DEBUG_MESON_UARTAO
1307 default "debug/pl01x.S" if DEBUG_LL_UART_PL01X || DEBUG_UART_PL01X
1308 default "debug/exynos.S" if DEBUG_EXYNOS_UART
1309 default "debug/efm32.S" if DEBUG_LL_UART_EFM32
1310 default "debug/icedcc.S" if DEBUG_ICEDCC
1311 default "debug/imx.S" if DEBUG_IMX1_UART || \
1312 DEBUG_IMX25_UART || \
1313 DEBUG_IMX21_IMX27_UART || \
1314 DEBUG_IMX31_UART || \
1315 DEBUG_IMX35_UART || \
1316 DEBUG_IMX50_UART || \
1317 DEBUG_IMX51_UART || \
1318 DEBUG_IMX53_UART ||\
1319 DEBUG_IMX6Q_UART || \
1320 DEBUG_IMX6SL_UART || \
1321 DEBUG_IMX6SX_UART || \
1322 DEBUG_IMX7D_UART
1323 default "debug/ks8695.S" if DEBUG_KS8695_UART
1324 default "debug/msm.S" if DEBUG_QCOM_UARTDM
1325 default "debug/netx.S" if DEBUG_NETX_UART
1326 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
1327 default "debug/renesas-scif.S" if DEBUG_R7S72100_SCIF2
1328 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF0
1329 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN1_SCIF2
1330 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF0
1331 default "debug/renesas-scif.S" if DEBUG_RCAR_GEN2_SCIF2
1332 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA0
1333 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA1
1334 default "debug/renesas-scif.S" if DEBUG_RMOBILE_SCIFA4
1335 default "debug/s3c24xx.S" if DEBUG_S3C24XX_UART
1336 default "debug/s5pv210.S" if DEBUG_S5PV210_UART
1337 default "debug/sirf.S" if DEBUG_SIRFSOC_UART
1338 default "debug/sti.S" if DEBUG_STI_UART
1339 default "debug/tegra.S" if DEBUG_TEGRA_UART
1340 default "debug/ux500.S" if DEBUG_UX500_UART
1341 default "debug/vexpress.S" if DEBUG_VEXPRESS_UART0_DETECT
1342 default "debug/vf.S" if DEBUG_VF_UART
1343 default "debug/vt8500.S" if DEBUG_VT8500_UART0
1344 default "debug/zynq.S" if DEBUG_ZYNQ_UART0 || DEBUG_ZYNQ_UART1
1345 default "debug/bcm63xx.S" if DEBUG_UART_BCM63XX
1346 default "debug/digicolor.S" if DEBUG_DIGICOLOR_UA0
1347 default "mach/debug-macro.S"
1348
1349 # Compatibility options for PL01x
1350 config DEBUG_UART_PL01X
1351 bool
1352
1353 # Compatibility options for 8250
1354 config DEBUG_UART_8250
1355 def_bool ARCH_DOVE || ARCH_EBSA110 || \
1356 (FOOTBRIDGE && !DEBUG_DC21285_PORT) || \
1357 ARCH_GEMINI || ARCH_IOP13XX || ARCH_IOP32X || \
1358 ARCH_IOP33X || ARCH_IXP4XX || \
1359 ARCH_LPC32XX || ARCH_MV78XX0 || ARCH_ORION5X || ARCH_RPC
1360
1361 # Compatibility options for BCM63xx
1362 config DEBUG_UART_BCM63XX
1363 def_bool ARCH_BCM_63XX
1364
1365 config DEBUG_UART_PHYS
1366 hex "Physical base address of debug UART"
1367 default 0x00100a00 if DEBUG_NETX_UART
1368 default 0x01c20000 if DEBUG_DAVINCI_DMx_UART0
1369 default 0x01c28000 if DEBUG_SUNXI_UART0
1370 default 0x01c28400 if DEBUG_SUNXI_UART1
1371 default 0x01d0c000 if DEBUG_DAVINCI_DA8XX_UART1
1372 default 0x01d0d000 if DEBUG_DAVINCI_DA8XX_UART2
1373 default 0x01f02800 if DEBUG_SUNXI_R_UART
1374 default 0x02530c00 if DEBUG_KEYSTONE_UART0
1375 default 0x02531000 if DEBUG_KEYSTONE_UART1
1376 default 0x03010fe0 if ARCH_RPC
1377 default 0x07000000 if DEBUG_SUN9I_UART0
1378 default 0x09405000 if DEBUG_ZTE_ZX
1379 default 0x10009000 if DEBUG_REALVIEW_STD_PORT || \
1380 DEBUG_VEXPRESS_UART0_CA9
1381 default 0x1010c000 if DEBUG_REALVIEW_PB1176_PORT
1382 default 0x10124000 if DEBUG_RK3X_UART0
1383 default 0x10126000 if DEBUG_RK3X_UART1
1384 default 0x101f1000 if ARCH_VERSATILE
1385 default 0x101fb000 if DEBUG_NOMADIK_UART
1386 default 0x11002000 if DEBUG_MT8127_UART0
1387 default 0x11006000 if DEBUG_MT6589_UART0
1388 default 0x11009000 if DEBUG_MT8135_UART3
1389 default 0x16000000 if ARCH_INTEGRATOR
1390 default 0x18000300 if DEBUG_BCM_5301X
1391 default 0x18010000 if DEBUG_SIRFATLAS7_UART0
1392 default 0x18020000 if DEBUG_SIRFATLAS7_UART1
1393 default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
1394 default 0x20001000 if DEBUG_HIP01_UART
1395 default 0x20060000 if DEBUG_RK29_UART0
1396 default 0x20064000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1397 default 0x20068000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1398 default 0x20201000 if DEBUG_BCM2835
1399 default 0x3e000000 if DEBUG_BCM_KONA_UART
1400 default 0x4000e400 if DEBUG_LL_UART_EFM32
1401 default 0x40081000 if DEBUG_LPC18XX_UART0
1402 default 0x40090000 if ARCH_LPC32XX
1403 default 0x40100000 if DEBUG_PXA_UART1
1404 default 0x42000000 if ARCH_GEMINI
1405 default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1406 DEBUG_S3C2410_UART0)
1407 default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1408 DEBUG_S3C2410_UART1)
1409 default 0x50008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1410 DEBUG_S3C2410_UART2)
1411 default 0x78000000 if DEBUG_CNS3XXX
1412 default 0x7c0003f8 if FOOTBRIDGE
1413 default 0x80010000 if DEBUG_ASM9260_UART
1414 default 0x80070000 if DEBUG_IMX23_UART
1415 default 0x80074000 if DEBUG_IMX28_UART
1416 default 0x80230000 if DEBUG_PICOXCELL_UART
1417 default 0x808c0000 if ARCH_EP93XX
1418 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1419 default 0xb0060000 if DEBUG_SIRFPRIMA2_UART1
1420 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1421 default 0xc0013000 if DEBUG_U300_UART
1422 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1423 default 0xc8000003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1424 default 0xd0000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1425 default 0xd0012000 if DEBUG_MVEBU_UART0
1426 default 0xc81004c0 if DEBUG_MESON_UARTAO
1427 default 0xd4017000 if DEBUG_MMP_UART2
1428 default 0xd4018000 if DEBUG_MMP_UART3
1429 default 0xe0000000 if ARCH_SPEAR13XX
1430 default 0xe4007000 if DEBUG_HIP04_UART
1431 default 0xe6c40000 if DEBUG_RMOBILE_SCIFA0
1432 default 0xe6c50000 if DEBUG_RMOBILE_SCIFA1
1433 default 0xe6c80000 if DEBUG_RMOBILE_SCIFA4
1434 default 0xe6e58000 if DEBUG_RCAR_GEN2_SCIF2
1435 default 0xe6e60000 if DEBUG_RCAR_GEN2_SCIF0
1436 default 0xe8008000 if DEBUG_R7S72100_SCIF2
1437 default 0xf0000be0 if ARCH_EBSA110
1438 default 0xf040ab00 if DEBUG_BRCMSTB_UART
1439 default 0xf1012000 if DEBUG_MVEBU_UART0_ALTERNATE
1440 default 0xf1012100 if DEBUG_MVEBU_UART1_ALTERNATE
1441 default 0xf1012000 if ARCH_DOVE || ARCH_MV78XX0 || \
1442 ARCH_ORION5X
1443 default 0xf7fc9000 if DEBUG_BERLIN_UART
1444 default 0xf8b00000 if DEBUG_HIX5HD2_UART
1445 default 0xf991e000 if DEBUG_QCOM_UARTDM
1446 default 0xfcb00000 if DEBUG_HI3620_UART
1447 default 0xfd883000 if DEBUG_ALPINE_UART0
1448 default 0xfe800000 if ARCH_IOP32X
1449 default 0xff690000 if DEBUG_RK32_UART2
1450 default 0xffc02000 if DEBUG_SOCFPGA_UART0
1451 default 0xffc02100 if DEBUG_SOCFPGA_UART1
1452 default 0xffd82340 if ARCH_IOP13XX
1453 default 0xffe40000 if DEBUG_RCAR_GEN1_SCIF0
1454 default 0xffe42000 if DEBUG_RCAR_GEN1_SCIF2
1455 default 0xfff36000 if DEBUG_HIGHBANK_UART
1456 default 0xfffb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1457 default 0xfffb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1458 default 0xfffb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1459 default 0xfffe8600 if DEBUG_UART_BCM63XX
1460 default 0xfffff700 if ARCH_IOP33X
1461 depends on ARCH_EP93XX || \
1462 DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1463 DEBUG_LL_UART_EFM32 || \
1464 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1465 DEBUG_NETX_UART || \
1466 DEBUG_QCOM_UARTDM || DEBUG_R7S72100_SCIF2 || \
1467 DEBUG_RCAR_GEN1_SCIF0 || DEBUG_RCAR_GEN1_SCIF2 || \
1468 DEBUG_RCAR_GEN2_SCIF0 || DEBUG_RCAR_GEN2_SCIF2 || \
1469 DEBUG_RMOBILE_SCIFA0 || DEBUG_RMOBILE_SCIFA1 || \
1470 DEBUG_RMOBILE_SCIFA4 || DEBUG_S3C24XX_UART || \
1471 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1472 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1473
1474 config DEBUG_UART_VIRT
1475 hex "Virtual base address of debug UART"
1476 default 0xe0000a00 if DEBUG_NETX_UART
1477 default 0xe0010fe0 if ARCH_RPC
1478 default 0xf0000be0 if ARCH_EBSA110
1479 default 0xf0010000 if DEBUG_ASM9260_UART
1480 default 0xf01fb000 if DEBUG_NOMADIK_UART
1481 default 0xf0201000 if DEBUG_BCM2835
1482 default 0xf1000300 if DEBUG_BCM_5301X
1483 default 0xf1002000 if DEBUG_MT8127_UART0
1484 default 0xf1006000 if DEBUG_MT6589_UART0
1485 default 0xf1009000 if DEBUG_MT8135_UART3
1486 default 0xf11f1000 if ARCH_VERSATILE
1487 default 0xf1600000 if ARCH_INTEGRATOR
1488 default 0xf1c28000 if DEBUG_SUNXI_UART0
1489 default 0xf1c28400 if DEBUG_SUNXI_UART1
1490 default 0xf1f02800 if DEBUG_SUNXI_R_UART
1491 default 0xf6200000 if DEBUG_PXA_UART1
1492 default 0xf4090000 if ARCH_LPC32XX
1493 default 0xf4200000 if ARCH_GEMINI
1494 default 0xf7000000 if DEBUG_SUN9I_UART0
1495 default 0xf7000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
1496 DEBUG_S3C2410_UART0)
1497 default 0xf7004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
1498 DEBUG_S3C2410_UART1)
1499 default 0xf7008000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART2 || \
1500 DEBUG_S3C2410_UART2)
1501 default 0xf7fc9000 if DEBUG_BERLIN_UART
1502 default 0xf8007000 if DEBUG_HIP04_UART
1503 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1504 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1505 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1506 default 0xfb002000 if DEBUG_CNS3XXX
1507 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1508 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1509 default 0xfc40ab00 if DEBUG_BRCMSTB_UART
1510 default 0xfc705000 if DEBUG_ZTE_ZX
1511 default 0xfcfe8600 if DEBUG_UART_BCM63XX
1512 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
1513 default 0xfd000000 if ARCH_SPEAR13XX
1514 default 0xfd012000 if ARCH_MV78XX0
1515 default 0xfd883000 if DEBUG_ALPINE_UART0
1516 default 0xfde12000 if ARCH_DOVE
1517 default 0xfe012000 if ARCH_ORION5X
1518 default 0xf31004c0 if DEBUG_MESON_UARTAO
1519 default 0xfe017000 if DEBUG_MMP_UART2
1520 default 0xfe018000 if DEBUG_MMP_UART3
1521 default 0xfe100000 if DEBUG_IMX23_UART || DEBUG_IMX28_UART
1522 default 0xfe230000 if DEBUG_PICOXCELL_UART
1523 default 0xfe300000 if DEBUG_BCM_KONA_UART
1524 default 0xfe800000 if ARCH_IOP32X
1525 default 0xfeb00000 if DEBUG_HI3620_UART || DEBUG_HIX5HD2_UART
1526 default 0xfeb24000 if DEBUG_RK3X_UART0
1527 default 0xfeb26000 if DEBUG_RK3X_UART1
1528 default 0xfeb30c00 if DEBUG_KEYSTONE_UART0
1529 default 0xfeb31000 if DEBUG_KEYSTONE_UART1
1530 default 0xfec02000 if DEBUG_SOCFPGA_UART0
1531 default 0xfec02100 if DEBUG_SOCFPGA_UART1
1532 default 0xfec12000 if DEBUG_MVEBU_UART0 || DEBUG_MVEBU_UART0_ALTERNATE
1533 default 0xfec12100 if DEBUG_MVEBU_UART1_ALTERNATE
1534 default 0xfec10000 if DEBUG_SIRFATLAS7_UART0
1535 default 0xfec20000 if DEBUG_DAVINCI_DMx_UART0
1536 default 0xfec20000 if DEBUG_SIRFATLAS7_UART1
1537 default 0xfec60000 if DEBUG_SIRFPRIMA2_UART1
1538 default 0xfec90000 if DEBUG_RK32_UART2
1539 default 0xfed0c000 if DEBUG_DAVINCI_DA8XX_UART1
1540 default 0xfed0d000 if DEBUG_DAVINCI_DA8XX_UART2
1541 default 0xfed60000 if DEBUG_RK29_UART0
1542 default 0xfed64000 if DEBUG_RK29_UART1 || DEBUG_RK3X_UART2
1543 default 0xfed68000 if DEBUG_RK29_UART2 || DEBUG_RK3X_UART3
1544 default 0xfedc0000 if ARCH_EP93XX
1545 default 0xfee003f8 if FOOTBRIDGE
1546 default 0xfee20000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1547 default 0xfee82340 if ARCH_IOP13XX
1548 default 0xfef00000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
1549 default 0xfef00003 if ARCH_IXP4XX && CPU_BIG_ENDIAN
1550 default 0xfef36000 if DEBUG_HIGHBANK_UART
1551 default 0xfefb0000 if DEBUG_OMAP1UART1 || DEBUG_OMAP7XXUART1
1552 default 0xfefb0800 if DEBUG_OMAP1UART2 || DEBUG_OMAP7XXUART2
1553 default 0xfefb9800 if DEBUG_OMAP1UART3 || DEBUG_OMAP7XXUART3
1554 default 0xfefff700 if ARCH_IOP33X
1555 default 0xff003000 if DEBUG_U300_UART
1556 default 0xffd01000 if DEBUG_HIP01_UART
1557 default DEBUG_UART_PHYS if !MMU
1558 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1559 DEBUG_UART_8250 || DEBUG_UART_PL01X || DEBUG_MESON_UARTAO || \
1560 DEBUG_NETX_UART || \
1561 DEBUG_QCOM_UARTDM || DEBUG_S3C24XX_UART || \
1562 DEBUG_UART_BCM63XX || DEBUG_ASM9260_UART || \
1563 DEBUG_SIRFSOC_UART || DEBUG_DIGICOLOR_UA0
1564
1565 config DEBUG_UART_8250_SHIFT
1566 int "Register offset shift for the 8250 debug UART"
1567 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1568 default 0 if FOOTBRIDGE || ARCH_IOP32X || DEBUG_BCM_5301X || \
1569 DEBUG_OMAP7XXUART1 || DEBUG_OMAP7XXUART2 || DEBUG_OMAP7XXUART3
1570 default 2
1571
1572 config DEBUG_UART_8250_WORD
1573 bool "Use 32-bit accesses for 8250 UART"
1574 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1575 depends on DEBUG_UART_8250_SHIFT >= 2
1576 default y if DEBUG_PICOXCELL_UART || DEBUG_SOCFPGA_UART0 || \
1577 DEBUG_SOCFPGA_UART1 || ARCH_KEYSTONE || \
1578 DEBUG_ALPINE_UART0 || \
1579 DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
1580 DEBUG_DAVINCI_DA8XX_UART2 || \
1581 DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2 || \
1582 DEBUG_BRCMSTB_UART
1583
1584 config DEBUG_UART_8250_FLOW_CONTROL
1585 bool "Enable flow control for 8250 UART"
1586 depends on DEBUG_LL_UART_8250 || DEBUG_UART_8250
1587 default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_GEMINI || ARCH_RPC
1588
1589 config DEBUG_UNCOMPRESS
1590 bool
1591 depends on ARCH_MULTIPLATFORM || PLAT_SAMSUNG || ARM_SINGLE_ARMV7M
1592 default y if DEBUG_LL && !DEBUG_OMAP2PLUS_UART && \
1593 (!DEBUG_TEGRA_UART || !ZBOOT_ROM)
1594 help
1595 This option influences the normal decompressor output for
1596 multiplatform kernels. Normally, multiplatform kernels disable
1597 decompressor output because it is not possible to know where to
1598 send the decompressor output.
1599
1600 When this option is set, the selected DEBUG_LL output method
1601 will be re-used for normal decompressor output on multiplatform
1602 kernels.
1603
1604
1605 config UNCOMPRESS_INCLUDE
1606 string
1607 default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
1608 PLAT_SAMSUNG || ARM_SINGLE_ARMV7M || \
1609 ARCH_SHMOBILE_LEGACY
1610 default "mach/uncompress.h"
1611
1612 config EARLY_PRINTK
1613 bool "Early printk"
1614 depends on DEBUG_LL
1615 help
1616 Say Y here if you want to have an early console using the
1617 kernel low-level debugging functions. Add earlyprintk to your
1618 kernel parameters to enable this console.
1619
1620 config ARM_KPROBES_TEST
1621 tristate "Kprobes test module"
1622 depends on KPROBES && MODULES
1623 help
1624 Perform tests of kprobes API and instruction set simulation.
1625
1626 config PID_IN_CONTEXTIDR
1627 bool "Write the current PID to the CONTEXTIDR register"
1628 depends on CPU_COPY_V6
1629 help
1630 Enabling this option causes the kernel to write the current PID to
1631 the PROCID field of the CONTEXTIDR register, at the expense of some
1632 additional instructions during context switch. Say Y here only if you
1633 are planning to use hardware trace tools with this kernel.
1634
1635 config DEBUG_SET_MODULE_RONX
1636 bool "Set loadable kernel module data as NX and text as RO"
1637 depends on MODULES
1638 ---help---
1639 This option helps catch unintended modifications to loadable
1640 kernel module's text and read-only data. It also prevents execution
1641 of module data. Such protection may interfere with run-time code
1642 patching and dynamic kernel tracing - and they might also protect
1643 against certain classes of kernel exploits.
1644 If in doubt, say "N".
1645
1646 source "drivers/hwtracing/coresight/Kconfig"
1647
1648 endmenu
This page took 0.079454 seconds and 6 git commands to generate.