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