blob: 0749c3724543a7c5f40aa97761703201ed4c7733 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001# SPDX-License-Identifier: GPL-2.0
Linus Torvalds1da177e2005-04-16 15:20:36 -07002menu "Kernel hacking"
3
Ralf Baechle192ef362006-07-07 14:07:18 +01004config TRACE_IRQFLAGS_SUPPORT
5 bool
6 default y
7
Linus Torvalds1da177e2005-04-16 15:20:36 -07008source "lib/Kconfig.debug"
9
Ralf Baechle4dd92e12009-12-17 01:57:30 +000010config EARLY_PRINTK
David Rientjes6a108a12011-01-20 14:44:16 -080011 bool "Early printk" if EXPERT
Ralf Baechle4dd92e12009-12-17 01:57:30 +000012 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
Yoichi Yuasa7cd93b82010-02-08 20:59:39 +090024config EARLY_PRINTK_8250
Ralf Baechlee6086552014-03-26 21:40:25 +010025 bool
26 depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
27 default y
Yoichi Yuasa7cd93b82010-02-08 20:59:39 +090028 help
Ralf Baechlee6086552014-03-26 21:40:25 +010029 "8250/16550 and compatible serial early printk driver"
Yoichi Yuasa7cd93b82010-02-08 20:59:39 +090030 If you say Y here, it will be possible to use a 8250/16550 serial
31 port as the boot console.
32
Ralf Baechlee6086552014-03-26 21:40:25 +010033config USE_GENERIC_EARLY_PRINTK_8250
34 bool
35
Dmitri Vorobiev6acc7d42009-11-21 22:34:41 +020036config 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070056config CMDLINE
57 string "Default kernel command string"
Dmitri Vorobiev6acc7d42009-11-21 22:34:41 +020058 depends on CMDLINE_BOOL
Linus Torvalds1da177e2005-04-16 15:20:36 -070059 default ""
60 help
Jan Altenberg3e7f9b822007-01-25 20:46:14 +010061 On some platforms, there is currently no way for the boot loader to
Dmitri Vorobiev6acc7d42009-11-21 22:34:41 +020062 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
Masanari Iida6b2aac42012-04-14 00:14:11 +090073 bool "Built-in command line overrides firmware arguments"
Dmitri Vorobiev6acc7d42009-11-21 22:34:41 +020074 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.
Linus Torvalds1da177e2005-04-16 15:20:36 -070082
Linus Torvalds1da177e2005-04-16 15:20:36 -070083config SB1XXX_CORELIS
84 bool "Corelis Debugger"
85 depends on SIBYTE_SB1xxx_SOC
Ralf Baechle3e441842017-04-21 03:28:18 +020086 select DEBUG_INFO if !COMPILE_TEST
Linus Torvalds1da177e2005-04-16 15:20:36 -070087 help
88 Select compile flags that produce code that can be processed by the
89 Corelis mksym utility and UDB Emulator.
90
Wu Zhangjinf86a69b2010-01-31 20:39:40 +080091config 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
David Daneybba90762010-02-16 15:26:35 -0800110config 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
Paul Burtond478b082015-09-22 10:10:56 -0700117config 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
James Hogan7e5e3712017-11-21 00:02:40 +0000127menuconfig MIPS_CPS_NS16550_BOOL
Paul Burton609cf6f2015-09-22 11:12:11 -0700128 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
James Hogan7e5e3712017-11-21 00:02:40 +0000134if MIPS_CPS_NS16550_BOOL
135
136config MIPS_CPS_NS16550
137 def_bool MIPS_CPS_NS16550_BASE != 0
Paul Burton609cf6f2015-09-22 11:12:11 -0700138
139config MIPS_CPS_NS16550_BASE
140 hex "UART Base Address"
141 default 0x1b0003f8 if MIPS_MALTA
James Hogan7e5e3712017-11-21 00:02:40 +0000142 default 0
Paul Burton609cf6f2015-09-22 11:12:11 -0700143 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
James Hogan7e5e3712017-11-21 00:02:40 +0000147 This is only used if non-zero.
148
Paul Burton609cf6f2015-09-22 11:12:11 -0700149config MIPS_CPS_NS16550_SHIFT
150 int "UART Register Shift"
James Hogan7e5e3712017-11-21 00:02:40 +0000151 default 0
Paul Burton609cf6f2015-09-22 11:12:11 -0700152 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
James Hogan7e5e3712017-11-21 00:02:40 +0000157endif # MIPS_CPS_NS16550_BOOL
Paul Burton609cf6f2015-09-22 11:12:11 -0700158
Linus Torvalds1da177e2005-04-16 15:20:36 -0700159endmenu