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