xref: /openbmc/linux/arch/mips/Kconfig.debug (revision 9cfc5c90)
1menu "Kernel hacking"
2
3config TRACE_IRQFLAGS_SUPPORT
4	bool
5	default y
6
7source "lib/Kconfig.debug"
8
9config 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
23config 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
32config USE_GENERIC_EARLY_PRINTK_8250
33	bool
34
35config 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
55config 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
71config 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
82config 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
90config 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
109config 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
116if CPU_MIPSR6
117
118choice
119	prompt "Compact branch policy"
120	default MIPS_COMPACT_BRANCHES_OPTIMAL
121
122config 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
131config 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
140config 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
148endchoice
149
150endif # CPU_MIPSR6
151
152config 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
162menuconfig 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
169if MIPS_CPS_NS16550
170
171config 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
178config 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
186endif # MIPS_CPS_NS16550
187
188endmenu
189