xref: /openbmc/linux/arch/mips/Kconfig.debug (revision cde58b86)
1# SPDX-License-Identifier: GPL-2.0
2
3config TRACE_IRQFLAGS_SUPPORT
4	bool
5	default y
6
7config EARLY_PRINTK
8	bool "Early printk" if EXPERT
9	depends on SYS_HAS_EARLY_PRINTK
10	default y
11	help
12	  This option enables special console drivers which allow the kernel
13	  to print messages very early in the bootup process.
14
15	  This is useful for kernel debugging when your machine crashes very
16	  early before the console code is initialized. For normal operation,
17	  it is not recommended because it looks ugly on some machines and
18	  doesn't cooperate with an X server. You should normally say N here,
19	  unless you want to debug such a crash.
20
21config EARLY_PRINTK_8250
22	bool
23	depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
24	default y
25	help
26	  "8250/16550 and compatible serial early printk driver"
27	  If you say Y here, it will be possible to use a 8250/16550 serial
28	  port as the boot console.
29
30config USE_GENERIC_EARLY_PRINTK_8250
31	bool
32
33config CMDLINE_BOOL
34	bool "Built-in kernel command line"
35	help
36	  For most systems, it is firmware or second stage bootloader that
37	  by default specifies the kernel command line options.  However,
38	  it might be necessary or advantageous to either override the
39	  default kernel command line or add a few extra options to it.
40	  For such cases, this option allows you to hardcode your own
41	  command line options directly into the kernel.  For that, you
42	  should choose 'Y' here, and fill in the extra boot arguments
43	  in CONFIG_CMDLINE.
44
45	  The built-in options will be concatenated to the default command
46	  line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
47	  command line will be ignored and replaced by the built-in string.
48
49	  Most MIPS systems will normally expect 'N' here and rely upon
50	  the command line from the firmware or the second-stage bootloader.
51
52config CMDLINE
53	string "Default kernel command string"
54	depends on CMDLINE_BOOL
55	help
56	  On some platforms, there is currently no way for the boot loader to
57	  pass arguments to the kernel.  For these platforms, and for the cases
58	  when you want to add some extra options to the command line or ignore
59	  the default command line, you can supply some command-line options at
60	  build time by entering them here.  In other cases you can specify
61	  kernel args so that you don't have to set them up in board prom
62	  initialization routines.
63
64	  For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
65	  options.
66
67config CMDLINE_OVERRIDE
68	bool "Built-in command line overrides firmware arguments"
69	depends on CMDLINE_BOOL
70	help
71	  By setting this option to 'Y' you will have your kernel ignore
72	  command line arguments from firmware or second stage bootloader.
73	  Instead, the built-in command line will be used exclusively.
74
75	  Normally, you will choose 'N' here.
76
77config SB1XXX_CORELIS
78	bool "Corelis Debugger"
79	depends on SIBYTE_SB1xxx_SOC
80	select DEBUG_KERNEL if !COMPILE_TEST
81	select DEBUG_INFO if !COMPILE_TEST
82	help
83	  Select compile flags that produce code that can be processed by the
84	  Corelis mksym utility and UDB Emulator.
85
86config DEBUG_ZBOOT
87	bool "Enable compressed kernel support debugging"
88	depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
89	default n
90	help
91	  If you want to add compressed kernel support to a new board, and the
92	  board supports uart16550 compatible serial port, please select
93	  SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
94	  debug it.
95
96	  If your board doesn't support uart16550 compatible serial port, you
97	  can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
98	  debug it. for example, add a new serial port support just as
99	  arch/mips/boot/compressed/uart-16550.c does.
100
101	  After the compressed kernel support works, please disable this option
102	  to reduce the kernel image size and speed up the booting procedure a
103	  little.
104
105config SPINLOCK_TEST
106	bool "Enable spinlock timing tests in debugfs"
107	depends on DEBUG_FS
108	default n
109	help
110	  Add several files to the debugfs to test spinlock speed.
111
112config SCACHE_DEBUGFS
113	bool "L2 cache debugfs entries"
114	depends on DEBUG_FS
115	help
116	  Enable this to allow parts of the L2 cache configuration, such as
117	  whether or not prefetching is enabled, to be exposed to userland
118	  via debugfs.
119
120	  If unsure, say N.
121
122menuconfig MIPS_CPS_NS16550_BOOL
123	bool "CPS SMP NS16550 UART output"
124	depends on MIPS_CPS
125	help
126	  Output debug information via an ns16550 compatible UART if exceptions
127	  occur early in the boot process of a secondary core.
128
129if MIPS_CPS_NS16550_BOOL
130
131config MIPS_CPS_NS16550
132	def_bool MIPS_CPS_NS16550_BASE != 0
133
134config MIPS_CPS_NS16550_BASE
135	hex "UART Base Address"
136	default 0x1b0003f8 if MIPS_MALTA
137	default 0
138	help
139	  The base address of the ns16550 compatible UART on which to output
140	  debug information from the early stages of core startup.
141
142	  This is only used if non-zero.
143
144config MIPS_CPS_NS16550_SHIFT
145	int "UART Register Shift"
146	default 0
147	help
148	  The number of bits to shift ns16550 register indices by in order to
149	  form their addresses. That is, log base 2 of the span between
150	  adjacent ns16550 registers in the system.
151
152config MIPS_CPS_NS16550_WIDTH
153	int "UART Register Width"
154	default 1
155	help
156	  ns16550 registers width. UART registers IO access methods will be
157	  selected in accordance with this parameter. By setting it to 1, 2 or
158	  4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
159	  instructions respectively. Any value not from that set activates
160	  lb/sb instructions.
161
162endif # MIPS_CPS_NS16550_BOOL
163