summaryrefslogtreecommitdiffstats
path: root/arch/mips/Kconfig.debug
blob: f0e314ceb8baa84d36ea6664772f71df46ad003f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
menu "Kernel hacking"

config TRACE_IRQFLAGS_SUPPORT
	bool
	default y

source "lib/Kconfig.debug"

config EARLY_PRINTK
	bool "Early printk" if EXPERT
	depends on SYS_HAS_EARLY_PRINTK
	default y
	help
	  This option enables special console drivers which allow the kernel
	  to print messages very early in the bootup process.

	  This is useful for kernel debugging when your machine crashes very
	  early before the console code is initialized. For normal operation,
	  it is not recommended because it looks ugly on some machines and
	  doesn't cooperate with an X server. You should normally say N here,
	  unless you want to debug such a crash.

config EARLY_PRINTK_8250
	bool
	depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
	default y
	help
	  "8250/16550 and compatible serial early printk driver"
	  If you say Y here, it will be possible to use a 8250/16550 serial
	  port as the boot console.

config USE_GENERIC_EARLY_PRINTK_8250
	bool

config CMDLINE_BOOL
	bool "Built-in kernel command line"
	default n
	help
	  For most systems, it is firmware or second stage bootloader that
	  by default specifies the kernel command line options.  However,
	  it might be necessary or advantageous to either override the
	  default kernel command line or add a few extra options to it.
	  For such cases, this option allows you to hardcode your own
	  command line options directly into the kernel.  For that, you
	  should choose 'Y' here, and fill in the extra boot arguments
	  in CONFIG_CMDLINE.

	  The built-in options will be concatenated to the default command
	  line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
	  command line will be ignored and replaced by the built-in string.

	  Most MIPS systems will normally expect 'N' here and rely upon
	  the command line from the firmware or the second-stage bootloader.

config CMDLINE
	string "Default kernel command string"
	depends on CMDLINE_BOOL
	default ""
	help
	  On some platforms, there is currently no way for the boot loader to
	  pass arguments to the kernel.  For these platforms, and for the cases
	  when you want to add some extra options to the command line or ignore
	  the default command line, you can supply some command-line options at
	  build time by entering them here.  In other cases you can specify
	  kernel args so that you don't have to set them up in board prom
	  initialization routines.

	  For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
	  options.

config CMDLINE_OVERRIDE
	bool "Built-in command line overrides firmware arguments"
	default n
	depends on CMDLINE_BOOL
	help
	  By setting this option to 'Y' you will have your kernel ignore
	  command line arguments from firmware or second stage bootloader.
	  Instead, the built-in command line will be used exclusively.

	  Normally, you will choose 'N' here.

config SB1XXX_CORELIS
	bool "Corelis Debugger"
	depends on SIBYTE_SB1xxx_SOC
	select DEBUG_INFO
	help
	  Select compile flags that produce code that can be processed by the
	  Corelis mksym utility and UDB Emulator.

config DEBUG_ZBOOT
	bool "Enable compressed kernel support debugging"
	depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
	default n
	help
	  If you want to add compressed kernel support to a new board, and the
	  board supports uart16550 compatible serial port, please select
	  SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
	  debug it.

	  If your board doesn't support uart16550 compatible serial port, you
	  can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
	  debug it. for example, add a new serial port support just as
	  arch/mips/boot/compressed/uart-16550.c does.

	  After the compressed kernel support works, please disable this option
	  to reduce the kernel image size and speed up the booting procedure a
	  little.

config SPINLOCK_TEST
	bool "Enable spinlock timing tests in debugfs"
	depends on DEBUG_FS
	default n
	help
	  Add several files to the debugfs to test spinlock speed.

if CPU_MIPSR6

choice
	prompt "Compact branch policy"
	default MIPS_COMPACT_BRANCHES_OPTIMAL

config MIPS_COMPACT_BRANCHES_NEVER
	bool "Never (force delay slot branches)"
	help
	  Pass the -mcompact-branches=never flag to the compiler in order to
	  force it to always emit branches with delay slots, and make no use
	  of the compact branch instructions introduced by MIPSr6. This is
	  useful if you suspect there may be an issue with compact branches in
	  either the compiler or the CPU.

config MIPS_COMPACT_BRANCHES_OPTIMAL
	bool "Optimal (use where beneficial)"
	help
	  Pass the -mcompact-branches=optimal flag to the compiler in order for
	  it to make use of compact branch instructions where it deems them
	  beneficial, and use branches with delay slots elsewhere. This is the
	  default compiler behaviour, and should be used unless you have a
	  reason to choose otherwise.

config MIPS_COMPACT_BRANCHES_ALWAYS
	bool "Always (force compact branches)"
	help
	  Pass the -mcompact-branches=always flag to the compiler in order to
	  force it to always emit compact branches, making no use of branch
	  instructions with delay slots. This can result in more compact code
	  which may be beneficial in some scenarios.

endchoice

endif # CPU_MIPSR6

config SCACHE_DEBUGFS
	bool "L2 cache debugfs entries"
	depends on DEBUG_FS
	help
	  Enable this to allow parts of the L2 cache configuration, such as
	  whether or not prefetching is enabled, to be exposed to userland
	  via debugfs.

	  If unsure, say N.

menuconfig MIPS_CPS_NS16550
	bool "CPS SMP NS16550 UART output"
	depends on MIPS_CPS
	help
	  Output debug information via an ns16550 compatible UART if exceptions
	  occur early in the boot process of a secondary core.

if MIPS_CPS_NS16550

config MIPS_CPS_NS16550_BASE
	hex "UART Base Address"
	default 0x1b0003f8 if MIPS_MALTA
	help
	  The base address of the ns16550 compatible UART on which to output
	  debug information from the early stages of core startup.

config MIPS_CPS_NS16550_SHIFT
	int "UART Register Shift"
	default 0 if MIPS_MALTA
	help
	  The number of bits to shift ns16550 register indices by in order to
	  form their addresses. That is, log base 2 of the span between
	  adjacent ns16550 registers in the system.

endif # MIPS_CPS_NS16550

endmenu