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