Merge branch 'msm-core' of git://codeaurora.org/quic/kernel/dwalker/linux-msm into...
[sfrench/cifs-2.6.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
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"
35         depends on AEABI && EXPERIMENTAL
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 DEBUG_USER
45         bool "Verbose user fault messages"
46         help
47           When a user program crashes due to an exception, the kernel can
48           print a brief message explaining what the problem was. This is
49           sometimes helpful for debugging but serves no purpose on a
50           production system. Most people should say N here.
51
52           In addition, you need to pass user_debug=N on the kernel command
53           line to enable this feature.  N consists of the sum of:
54
55               1 - undefined instruction events
56               2 - system calls
57               4 - invalid data aborts
58               8 - SIGSEGV faults
59              16 - SIGBUS faults
60
61 config DEBUG_ERRORS
62         bool "Verbose kernel error messages"
63         depends on DEBUG_KERNEL
64         help
65           This option controls verbose debugging information which can be
66           printed when the kernel detects an internal error. This debugging
67           information is useful to kernel hackers when tracking down problems,
68           but mostly meaningless to other people. It's safe to say Y unless
69           you are concerned with the code size or don't want to see these
70           messages.
71
72 config DEBUG_STACK_USAGE
73         bool "Enable stack utilization instrumentation"
74         depends on DEBUG_KERNEL
75         help
76           Enables the display of the minimum amount of free stack which each
77           task has ever had available in the sysrq-T output.
78
79 # These options are only for real kernel hackers who want to get their hands dirty.
80 config DEBUG_LL
81         bool "Kernel low-level debugging functions"
82         depends on DEBUG_KERNEL
83         help
84           Say Y here to include definitions of printascii, printch, printhex
85           in the kernel.  This is helpful if you are debugging code that
86           executes before the console is initialized.
87
88 config EARLY_PRINTK
89         bool "Early printk"
90         depends on DEBUG_LL
91         help
92           Say Y here if you want to have an early console using the
93           kernel low-level debugging functions. Add earlyprintk to your
94           kernel parameters to enable this console.
95
96 config DEBUG_ICEDCC
97         bool "Kernel low-level debugging via EmbeddedICE DCC channel"
98         depends on DEBUG_LL
99         help
100           Say Y here if you want the debug print routines to direct their
101           output to the EmbeddedICE macrocell's DCC channel using
102           co-processor 14. This is known to work on the ARM9 style ICE
103           channel and on the XScale with the PEEDI.
104
105           It does include a timeout to ensure that the system does not
106           totally freeze when there is nothing connected to read.
107
108 config OC_ETM
109         bool "On-chip ETM and ETB"
110         select ARM_AMBA
111         help
112           Enables the on-chip embedded trace macrocell and embedded trace
113           buffer driver that will allow you to collect traces of the
114           kernel code.
115
116 config DEBUG_DC21285_PORT
117         bool "Kernel low-level debugging messages via footbridge serial port"
118         depends on DEBUG_LL && FOOTBRIDGE
119         help
120           Say Y here if you want the debug print routines to direct their
121           output to the serial port in the DC21285 (Footbridge). Saying N
122           will cause the debug messages to appear on the first 16550
123           serial port.
124
125 config DEBUG_CLPS711X_UART2
126         bool "Kernel low-level debugging messages via UART2"
127         depends on DEBUG_LL && ARCH_CLPS711X
128         help
129           Say Y here if you want the debug print routines to direct their
130           output to the second serial port on these devices.  Saying N will
131           cause the debug messages to appear on the first serial port.
132
133 config DEBUG_S3C_UART
134         depends on PLAT_SAMSUNG
135         int "S3C UART to use for low-level debug"
136         default "0"
137         help
138           Choice for UART for kernel low-level using S3C UARTS,
139           should be between zero and two. The port must have been
140           initialised by the boot-loader before use.
141
142           The uncompressor code port configuration is now handled
143           by CONFIG_S3C_LOWLEVEL_UART_PORT.
144
145 endmenu