xref: /openbmc/linux/arch/mips/Kconfig.debug (revision ad42e0a8d4d5abd7243597b1a4f5ab4ede09f25a)
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
803e441845SRalf Baechle	select DEBUG_INFO if !COMPILE_TEST
811da177e4SLinus Torvalds	help
821da177e4SLinus Torvalds	  Select compile flags that produce code that can be processed by the
831da177e4SLinus Torvalds	  Corelis mksym utility and UDB Emulator.
841da177e4SLinus Torvalds
85f86a69b1SWu Zhangjinconfig DEBUG_ZBOOT
86f86a69b1SWu Zhangjin	bool "Enable compressed kernel support debugging"
87f86a69b1SWu Zhangjin	depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
88f86a69b1SWu Zhangjin	default n
89f86a69b1SWu Zhangjin	help
90f86a69b1SWu Zhangjin	  If you want to add compressed kernel support to a new board, and the
91f86a69b1SWu Zhangjin	  board supports uart16550 compatible serial port, please select
92f86a69b1SWu Zhangjin	  SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
93f86a69b1SWu Zhangjin	  debug it.
94f86a69b1SWu Zhangjin
95f86a69b1SWu Zhangjin	  If your board doesn't support uart16550 compatible serial port, you
96f86a69b1SWu Zhangjin	  can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
97f86a69b1SWu Zhangjin	  debug it. for example, add a new serial port support just as
98f86a69b1SWu Zhangjin	  arch/mips/boot/compressed/uart-16550.c does.
99f86a69b1SWu Zhangjin
100f86a69b1SWu Zhangjin	  After the compressed kernel support works, please disable this option
101f86a69b1SWu Zhangjin	  to reduce the kernel image size and speed up the booting procedure a
102f86a69b1SWu Zhangjin	  little.
103f86a69b1SWu Zhangjin
104bba90760SDavid Daneyconfig SPINLOCK_TEST
105bba90760SDavid Daney	bool "Enable spinlock timing tests in debugfs"
106bba90760SDavid Daney	depends on DEBUG_FS
107bba90760SDavid Daney	default n
108bba90760SDavid Daney	help
109bba90760SDavid Daney	  Add several files to the debugfs to test spinlock speed.
110bba90760SDavid Daney
111d478b088SPaul Burtonconfig SCACHE_DEBUGFS
112d478b088SPaul Burton	bool "L2 cache debugfs entries"
113d478b088SPaul Burton	depends on DEBUG_FS
114d478b088SPaul Burton	help
115d478b088SPaul Burton	  Enable this to allow parts of the L2 cache configuration, such as
116d478b088SPaul Burton	  whether or not prefetching is enabled, to be exposed to userland
117d478b088SPaul Burton	  via debugfs.
118d478b088SPaul Burton
119d478b088SPaul Burton	  If unsure, say N.
120d478b088SPaul Burton
1217e5e371eSJames Hoganmenuconfig MIPS_CPS_NS16550_BOOL
122609cf6f2SPaul Burton	bool "CPS SMP NS16550 UART output"
123609cf6f2SPaul Burton	depends on MIPS_CPS
124609cf6f2SPaul Burton	help
125609cf6f2SPaul Burton	  Output debug information via an ns16550 compatible UART if exceptions
126609cf6f2SPaul Burton	  occur early in the boot process of a secondary core.
127609cf6f2SPaul Burton
1287e5e371eSJames Hoganif MIPS_CPS_NS16550_BOOL
1297e5e371eSJames Hogan
1307e5e371eSJames Hoganconfig MIPS_CPS_NS16550
1317e5e371eSJames Hogan	def_bool MIPS_CPS_NS16550_BASE != 0
132609cf6f2SPaul Burton
133609cf6f2SPaul Burtonconfig MIPS_CPS_NS16550_BASE
134609cf6f2SPaul Burton	hex "UART Base Address"
135609cf6f2SPaul Burton	default 0x1b0003f8 if MIPS_MALTA
1367e5e371eSJames Hogan	default 0
137609cf6f2SPaul Burton	help
138609cf6f2SPaul Burton	  The base address of the ns16550 compatible UART on which to output
139609cf6f2SPaul Burton	  debug information from the early stages of core startup.
140609cf6f2SPaul Burton
1417e5e371eSJames Hogan	  This is only used if non-zero.
1427e5e371eSJames Hogan
143609cf6f2SPaul Burtonconfig MIPS_CPS_NS16550_SHIFT
144609cf6f2SPaul Burton	int "UART Register Shift"
1457e5e371eSJames Hogan	default 0
146609cf6f2SPaul Burton	help
147609cf6f2SPaul Burton	  The number of bits to shift ns16550 register indices by in order to
148609cf6f2SPaul Burton	  form their addresses. That is, log base 2 of the span between
149609cf6f2SPaul Burton	  adjacent ns16550 registers in the system.
150609cf6f2SPaul Burton
151*ad42e0a8SSerge Seminconfig MIPS_CPS_NS16550_WIDTH
152*ad42e0a8SSerge Semin	int "UART Register Width"
153*ad42e0a8SSerge Semin	default 1
154*ad42e0a8SSerge Semin	help
155*ad42e0a8SSerge Semin	  ns16550 registers width. UART registers IO access methods will be
156*ad42e0a8SSerge Semin	  selected in accordance with this parameter. By setting it to 1, 2 or
157*ad42e0a8SSerge Semin	  4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
158*ad42e0a8SSerge Semin	  instructions respectively. Any value not from that set activates
159*ad42e0a8SSerge Semin	  lb/sb instructions.
160*ad42e0a8SSerge Semin
1617e5e371eSJames Hoganendif # MIPS_CPS_NS16550_BOOL
162