Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[platform/kernel/linux-rpi.git] / arch / mips / Kconfig.debug
1 menu "Kernel hacking"
2
3 config TRACE_IRQFLAGS_SUPPORT
4         bool
5         default y
6
7 source "lib/Kconfig.debug"
8
9 config EARLY_PRINTK
10         bool "Early printk" if EXPERT
11         depends on SYS_HAS_EARLY_PRINTK
12         default y
13         help
14           This option enables special console drivers which allow the kernel
15           to print messages very early in the bootup process.
16
17           This is useful for kernel debugging when your machine crashes very
18           early before the console code is initialized. For normal operation,
19           it is not recommended because it looks ugly on some machines and
20           doesn't cooperate with an X server. You should normally say N here,
21           unless you want to debug such a crash.
22
23 config EARLY_PRINTK_8250
24         bool
25         depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
26         default y
27         help
28           "8250/16550 and compatible serial early printk driver"
29           If you say Y here, it will be possible to use a 8250/16550 serial
30           port as the boot console.
31
32 config USE_GENERIC_EARLY_PRINTK_8250
33         bool
34
35 config CMDLINE_BOOL
36         bool "Built-in kernel command line"
37         default n
38         help
39           For most systems, it is firmware or second stage bootloader that
40           by default specifies the kernel command line options.  However,
41           it might be necessary or advantageous to either override the
42           default kernel command line or add a few extra options to it.
43           For such cases, this option allows you to hardcode your own
44           command line options directly into the kernel.  For that, you
45           should choose 'Y' here, and fill in the extra boot arguments
46           in CONFIG_CMDLINE.
47
48           The built-in options will be concatenated to the default command
49           line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
50           command line will be ignored and replaced by the built-in string.
51
52           Most MIPS systems will normally expect 'N' here and rely upon
53           the command line from the firmware or the second-stage bootloader.
54
55 config CMDLINE
56         string "Default kernel command string"
57         depends on CMDLINE_BOOL
58         default ""
59         help
60           On some platforms, there is currently no way for the boot loader to
61           pass arguments to the kernel.  For these platforms, and for the cases
62           when you want to add some extra options to the command line or ignore
63           the default command line, you can supply some command-line options at
64           build time by entering them here.  In other cases you can specify
65           kernel args so that you don't have to set them up in board prom
66           initialization routines.
67
68           For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
69           options.
70
71 config CMDLINE_OVERRIDE
72         bool "Built-in command line overrides firmware arguments"
73         default n
74         depends on CMDLINE_BOOL
75         help
76           By setting this option to 'Y' you will have your kernel ignore
77           command line arguments from firmware or second stage bootloader.
78           Instead, the built-in command line will be used exclusively.
79
80           Normally, you will choose 'N' here.
81
82 config SB1XXX_CORELIS
83         bool "Corelis Debugger"
84         depends on SIBYTE_SB1xxx_SOC
85         select DEBUG_INFO
86         help
87           Select compile flags that produce code that can be processed by the
88           Corelis mksym utility and UDB Emulator.
89
90 config DEBUG_ZBOOT
91         bool "Enable compressed kernel support debugging"
92         depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
93         default n
94         help
95           If you want to add compressed kernel support to a new board, and the
96           board supports uart16550 compatible serial port, please select
97           SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
98           debug it.
99
100           If your board doesn't support uart16550 compatible serial port, you
101           can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
102           debug it. for example, add a new serial port support just as
103           arch/mips/boot/compressed/uart-16550.c does.
104
105           After the compressed kernel support works, please disable this option
106           to reduce the kernel image size and speed up the booting procedure a
107           little.
108
109 config SPINLOCK_TEST
110         bool "Enable spinlock timing tests in debugfs"
111         depends on DEBUG_FS
112         default n
113         help
114           Add several files to the debugfs to test spinlock speed.
115
116 if CPU_MIPSR6
117
118 choice
119         prompt "Compact branch policy"
120         default MIPS_COMPACT_BRANCHES_OPTIMAL
121
122 config MIPS_COMPACT_BRANCHES_NEVER
123         bool "Never (force delay slot branches)"
124         help
125           Pass the -mcompact-branches=never flag to the compiler in order to
126           force it to always emit branches with delay slots, and make no use
127           of the compact branch instructions introduced by MIPSr6. This is
128           useful if you suspect there may be an issue with compact branches in
129           either the compiler or the CPU.
130
131 config MIPS_COMPACT_BRANCHES_OPTIMAL
132         bool "Optimal (use where beneficial)"
133         help
134           Pass the -mcompact-branches=optimal flag to the compiler in order for
135           it to make use of compact branch instructions where it deems them
136           beneficial, and use branches with delay slots elsewhere. This is the
137           default compiler behaviour, and should be used unless you have a
138           reason to choose otherwise.
139
140 config MIPS_COMPACT_BRANCHES_ALWAYS
141         bool "Always (force compact branches)"
142         help
143           Pass the -mcompact-branches=always flag to the compiler in order to
144           force it to always emit compact branches, making no use of branch
145           instructions with delay slots. This can result in more compact code
146           which may be beneficial in some scenarios.
147
148 endchoice
149
150 endif # CPU_MIPSR6
151
152 config SCACHE_DEBUGFS
153         bool "L2 cache debugfs entries"
154         depends on DEBUG_FS
155         help
156           Enable this to allow parts of the L2 cache configuration, such as
157           whether or not prefetching is enabled, to be exposed to userland
158           via debugfs.
159
160           If unsure, say N.
161
162 menuconfig MIPS_CPS_NS16550
163         bool "CPS SMP NS16550 UART output"
164         depends on MIPS_CPS
165         help
166           Output debug information via an ns16550 compatible UART if exceptions
167           occur early in the boot process of a secondary core.
168
169 if MIPS_CPS_NS16550
170
171 config MIPS_CPS_NS16550_BASE
172         hex "UART Base Address"
173         default 0x1b0003f8 if MIPS_MALTA
174         help
175           The base address of the ns16550 compatible UART on which to output
176           debug information from the early stages of core startup.
177
178 config MIPS_CPS_NS16550_SHIFT
179         int "UART Register Shift"
180         default 0 if MIPS_MALTA
181         help
182           The number of bits to shift ns16550 register indices by in order to
183           form their addresses. That is, log base 2 of the span between
184           adjacent ns16550 registers in the system.
185
186 endif # MIPS_CPS_NS16550
187
188 endmenu