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