Loading...
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_INFO if !COMPILE_TEST
81 help
82 Select compile flags that produce code that can be processed by the
83 Corelis mksym utility and UDB Emulator.
84
85config DEBUG_ZBOOT
86 bool "Enable compressed kernel support debugging"
87 depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
88 default n
89 help
90 If you want to add compressed kernel support to a new board, and the
91 board supports uart16550 compatible serial port, please select
92 SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
93 debug it.
94
95 If your board doesn't support uart16550 compatible serial port, you
96 can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
97 debug it. for example, add a new serial port support just as
98 arch/mips/boot/compressed/uart-16550.c does.
99
100 After the compressed kernel support works, please disable this option
101 to reduce the kernel image size and speed up the booting procedure a
102 little.
103
104config SPINLOCK_TEST
105 bool "Enable spinlock timing tests in debugfs"
106 depends on DEBUG_FS
107 default n
108 help
109 Add several files to the debugfs to test spinlock speed.
110
111config SCACHE_DEBUGFS
112 bool "L2 cache debugfs entries"
113 depends on DEBUG_FS
114 help
115 Enable this to allow parts of the L2 cache configuration, such as
116 whether or not prefetching is enabled, to be exposed to userland
117 via debugfs.
118
119 If unsure, say N.
120
121menuconfig MIPS_CPS_NS16550_BOOL
122 bool "CPS SMP NS16550 UART output"
123 depends on MIPS_CPS
124 help
125 Output debug information via an ns16550 compatible UART if exceptions
126 occur early in the boot process of a secondary core.
127
128if MIPS_CPS_NS16550_BOOL
129
130config MIPS_CPS_NS16550
131 def_bool MIPS_CPS_NS16550_BASE != 0
132
133config MIPS_CPS_NS16550_BASE
134 hex "UART Base Address"
135 default 0x1b0003f8 if MIPS_MALTA
136 default 0
137 help
138 The base address of the ns16550 compatible UART on which to output
139 debug information from the early stages of core startup.
140
141 This is only used if non-zero.
142
143config MIPS_CPS_NS16550_SHIFT
144 int "UART Register Shift"
145 default 0
146 help
147 The number of bits to shift ns16550 register indices by in order to
148 form their addresses. That is, log base 2 of the span between
149 adjacent ns16550 registers in the system.
150
151config MIPS_CPS_NS16550_WIDTH
152 int "UART Register Width"
153 default 1
154 help
155 ns16550 registers width. UART registers IO access methods will be
156 selected in accordance with this parameter. By setting it to 1, 2 or
157 4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
158 instructions respectively. Any value not from that set activates
159 lb/sb instructions.
160
161endif # MIPS_CPS_NS16550_BOOL
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