xref: /openbmc/linux/arch/mips/Kconfig.debug (revision f92a05b9c0be58156de8727cc30f74eec00dc74f)
1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0
21da177e4SLinus Torvalds
3192ef366SRalf Baechleconfig TRACE_IRQFLAGS_SUPPORT
4192ef366SRalf Baechle	bool
5192ef366SRalf Baechle	default y
6192ef366SRalf Baechle
74dd92e15SRalf Baechleconfig EARLY_PRINTK
86a108a14SDavid Rientjes	bool "Early printk" if EXPERT
94dd92e15SRalf Baechle	depends on SYS_HAS_EARLY_PRINTK
104dd92e15SRalf Baechle	default y
114dd92e15SRalf Baechle	help
124dd92e15SRalf Baechle	  This option enables special console drivers which allow the kernel
134dd92e15SRalf Baechle	  to print messages very early in the bootup process.
144dd92e15SRalf Baechle
154dd92e15SRalf Baechle	  This is useful for kernel debugging when your machine crashes very
164dd92e15SRalf Baechle	  early before the console code is initialized. For normal operation,
174dd92e15SRalf Baechle	  it is not recommended because it looks ugly on some machines and
184dd92e15SRalf Baechle	  doesn't cooperate with an X server. You should normally say N here,
194dd92e15SRalf Baechle	  unless you want to debug such a crash.
204dd92e15SRalf Baechle
217cd93b89SYoichi Yuasaconfig EARLY_PRINTK_8250
22e6086557SRalf Baechle	bool
23e6086557SRalf Baechle	depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
24e6086557SRalf Baechle	default y
257cd93b89SYoichi Yuasa	help
26e6086557SRalf Baechle	  "8250/16550 and compatible serial early printk driver"
277cd93b89SYoichi Yuasa	  If you say Y here, it will be possible to use a 8250/16550 serial
287cd93b89SYoichi Yuasa	  port as the boot console.
297cd93b89SYoichi Yuasa
30e6086557SRalf Baechleconfig USE_GENERIC_EARLY_PRINTK_8250
31e6086557SRalf Baechle	bool
32e6086557SRalf Baechle
336acc7d48SDmitri Vorobievconfig CMDLINE_BOOL
346acc7d48SDmitri Vorobiev	bool "Built-in kernel command line"
356acc7d48SDmitri Vorobiev	help
366acc7d48SDmitri Vorobiev	  For most systems, it is firmware or second stage bootloader that
376acc7d48SDmitri Vorobiev	  by default specifies the kernel command line options.  However,
386acc7d48SDmitri Vorobiev	  it might be necessary or advantageous to either override the
396acc7d48SDmitri Vorobiev	  default kernel command line or add a few extra options to it.
406acc7d48SDmitri Vorobiev	  For such cases, this option allows you to hardcode your own
416acc7d48SDmitri Vorobiev	  command line options directly into the kernel.  For that, you
426acc7d48SDmitri Vorobiev	  should choose 'Y' here, and fill in the extra boot arguments
436acc7d48SDmitri Vorobiev	  in CONFIG_CMDLINE.
446acc7d48SDmitri Vorobiev
456acc7d48SDmitri Vorobiev	  The built-in options will be concatenated to the default command
466acc7d48SDmitri Vorobiev	  line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
476acc7d48SDmitri Vorobiev	  command line will be ignored and replaced by the built-in string.
486acc7d48SDmitri Vorobiev
496acc7d48SDmitri Vorobiev	  Most MIPS systems will normally expect 'N' here and rely upon
506acc7d48SDmitri Vorobiev	  the command line from the firmware or the second-stage bootloader.
516acc7d48SDmitri Vorobiev
521da177e4SLinus Torvaldsconfig CMDLINE
531da177e4SLinus Torvalds	string "Default kernel command string"
546acc7d48SDmitri Vorobiev	depends on CMDLINE_BOOL
551da177e4SLinus Torvalds	help
561da177e4SLinus Torvalds	  On some platforms, there is currently no way for the boot loader to
576acc7d48SDmitri Vorobiev	  pass arguments to the kernel.  For these platforms, and for the cases
586acc7d48SDmitri Vorobiev	  when you want to add some extra options to the command line or ignore
596acc7d48SDmitri Vorobiev	  the default command line, you can supply some command-line options at
606acc7d48SDmitri Vorobiev	  build time by entering them here.  In other cases you can specify
616acc7d48SDmitri Vorobiev	  kernel args so that you don't have to set them up in board prom
626acc7d48SDmitri Vorobiev	  initialization routines.
636acc7d48SDmitri Vorobiev
646acc7d48SDmitri Vorobiev	  For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
656acc7d48SDmitri Vorobiev	  options.
666acc7d48SDmitri Vorobiev
676acc7d48SDmitri Vorobievconfig CMDLINE_OVERRIDE
686b2aac42SMasanari Iida	bool "Built-in command line overrides firmware arguments"
696acc7d48SDmitri Vorobiev	depends on CMDLINE_BOOL
706acc7d48SDmitri Vorobiev	help
716acc7d48SDmitri Vorobiev	  By setting this option to 'Y' you will have your kernel ignore
726acc7d48SDmitri Vorobiev	  command line arguments from firmware or second stage bootloader.
736acc7d48SDmitri Vorobiev	  Instead, the built-in command line will be used exclusively.
746acc7d48SDmitri Vorobiev
756acc7d48SDmitri Vorobiev	  Normally, you will choose 'N' here.
761da177e4SLinus Torvalds
771da177e4SLinus Torvaldsconfig SB1XXX_CORELIS
781da177e4SLinus Torvalds	bool "Corelis Debugger"
791da177e4SLinus Torvalds	depends on SIBYTE_SB1xxx_SOC
80e87f69a5SJulian Braha	select DEBUG_KERNEL if !COMPILE_TEST
813e441845SRalf Baechle	select DEBUG_INFO if !COMPILE_TEST
821da177e4SLinus Torvalds	help
831da177e4SLinus Torvalds	  Select compile flags that produce code that can be processed by the
841da177e4SLinus Torvalds	  Corelis mksym utility and UDB Emulator.
851da177e4SLinus Torvalds
86f86a69b1SWu Zhangjinconfig DEBUG_ZBOOT
87f86a69b1SWu Zhangjin	bool "Enable compressed kernel support debugging"
88f86a69b1SWu Zhangjin	depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
89f86a69b1SWu Zhangjin	default n
90f86a69b1SWu Zhangjin	help
91f86a69b1SWu Zhangjin	  If you want to add compressed kernel support to a new board, and the
92f86a69b1SWu Zhangjin	  board supports uart16550 compatible serial port, please select
93f86a69b1SWu Zhangjin	  SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
94f86a69b1SWu Zhangjin	  debug it.
95f86a69b1SWu Zhangjin
96f86a69b1SWu Zhangjin	  If your board doesn't support uart16550 compatible serial port, you
97f86a69b1SWu Zhangjin	  can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
98f86a69b1SWu Zhangjin	  debug it. for example, add a new serial port support just as
99f86a69b1SWu Zhangjin	  arch/mips/boot/compressed/uart-16550.c does.
100f86a69b1SWu Zhangjin
101f86a69b1SWu Zhangjin	  After the compressed kernel support works, please disable this option
102f86a69b1SWu Zhangjin	  to reduce the kernel image size and speed up the booting procedure a
103f86a69b1SWu Zhangjin	  little.
104f86a69b1SWu Zhangjin
105*f92a05b9SPaul Cercueilconfig ZBOOT_INGENIC_UART
106*f92a05b9SPaul Cercueil	int "UART to use for compressed kernel debugging"
107*f92a05b9SPaul Cercueil	depends on DEBUG_ZBOOT && MACH_INGENIC_SOC
108*f92a05b9SPaul Cercueil	default 0
109*f92a05b9SPaul Cercueil	range 0 4
110*f92a05b9SPaul Cercueil	help
111*f92a05b9SPaul Cercueil	  Specify the UART that should be used for compressed kernel debugging.
112*f92a05b9SPaul Cercueil
113bba90760SDavid Daneyconfig SPINLOCK_TEST
114bba90760SDavid Daney	bool "Enable spinlock timing tests in debugfs"
115bba90760SDavid Daney	depends on DEBUG_FS
116bba90760SDavid Daney	default n
117bba90760SDavid Daney	help
118bba90760SDavid Daney	  Add several files to the debugfs to test spinlock speed.
119bba90760SDavid Daney
120d478b088SPaul Burtonconfig SCACHE_DEBUGFS
121d478b088SPaul Burton	bool "L2 cache debugfs entries"
122d478b088SPaul Burton	depends on DEBUG_FS
123d478b088SPaul Burton	help
124d478b088SPaul Burton	  Enable this to allow parts of the L2 cache configuration, such as
125d478b088SPaul Burton	  whether or not prefetching is enabled, to be exposed to userland
126d478b088SPaul Burton	  via debugfs.
127d478b088SPaul Burton
128d478b088SPaul Burton	  If unsure, say N.
129d478b088SPaul Burton
1307e5e371eSJames Hoganmenuconfig MIPS_CPS_NS16550_BOOL
131609cf6f2SPaul Burton	bool "CPS SMP NS16550 UART output"
132609cf6f2SPaul Burton	depends on MIPS_CPS
133609cf6f2SPaul Burton	help
134609cf6f2SPaul Burton	  Output debug information via an ns16550 compatible UART if exceptions
135609cf6f2SPaul Burton	  occur early in the boot process of a secondary core.
136609cf6f2SPaul Burton
1377e5e371eSJames Hoganif MIPS_CPS_NS16550_BOOL
1387e5e371eSJames Hogan
1397e5e371eSJames Hoganconfig MIPS_CPS_NS16550
1407e5e371eSJames Hogan	def_bool MIPS_CPS_NS16550_BASE != 0
141609cf6f2SPaul Burton
142609cf6f2SPaul Burtonconfig MIPS_CPS_NS16550_BASE
143609cf6f2SPaul Burton	hex "UART Base Address"
144609cf6f2SPaul Burton	default 0x1b0003f8 if MIPS_MALTA
1457e5e371eSJames Hogan	default 0
146609cf6f2SPaul Burton	help
147609cf6f2SPaul Burton	  The base address of the ns16550 compatible UART on which to output
148609cf6f2SPaul Burton	  debug information from the early stages of core startup.
149609cf6f2SPaul Burton
1507e5e371eSJames Hogan	  This is only used if non-zero.
1517e5e371eSJames Hogan
152609cf6f2SPaul Burtonconfig MIPS_CPS_NS16550_SHIFT
153609cf6f2SPaul Burton	int "UART Register Shift"
1547e5e371eSJames Hogan	default 0
155609cf6f2SPaul Burton	help
156609cf6f2SPaul Burton	  The number of bits to shift ns16550 register indices by in order to
157609cf6f2SPaul Burton	  form their addresses. That is, log base 2 of the span between
158609cf6f2SPaul Burton	  adjacent ns16550 registers in the system.
159609cf6f2SPaul Burton
160ad42e0a8SSerge Seminconfig MIPS_CPS_NS16550_WIDTH
161ad42e0a8SSerge Semin	int "UART Register Width"
162ad42e0a8SSerge Semin	default 1
163ad42e0a8SSerge Semin	help
164ad42e0a8SSerge Semin	  ns16550 registers width. UART registers IO access methods will be
165ad42e0a8SSerge Semin	  selected in accordance with this parameter. By setting it to 1, 2 or
166ad42e0a8SSerge Semin	  4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
167ad42e0a8SSerge Semin	  instructions respectively. Any value not from that set activates
168ad42e0a8SSerge Semin	  lb/sb instructions.
169ad42e0a8SSerge Semin
1707e5e371eSJames Hoganendif # MIPS_CPS_NS16550_BOOL
171