Linux 6.9-rc1
[linux-2.6-microblaze.git] / arch / sh / Kconfig.debug
1 # SPDX-License-Identifier: GPL-2.0
2
3 config SH_STANDARD_BIOS
4         bool "Use LinuxSH standard BIOS"
5         help
6           Say Y here if your target has the gdb-sh-stub
7           package from www.m17n.org (or any conforming standard LinuxSH BIOS)
8           in FLASH or EPROM.  The kernel will use standard BIOS calls during
9           boot for various housekeeping tasks (including calls to read and
10           write characters to a system console, get a MAC address from an
11           on-board Ethernet interface, and shut down the hardware).  Note this
12           does not work with machines with an existing operating system in
13           mask ROM and no flash (WindowsCE machines fall in this category).
14           If unsure, say N.
15
16 config STACK_DEBUG
17         bool "Check for stack overflows"
18         depends on DEBUG_KERNEL && PRINTK
19         help
20           This option will cause messages to be printed if free stack space
21           drops below a certain limit. Saying Y here will add overhead to
22           every function call and will therefore incur a major
23           performance hit. Most users should say N.
24
25 config EARLY_PRINTK
26         bool "Early printk"
27         depends on SH_STANDARD_BIOS
28         help
29           Say Y here to redirect kernel printk messages to the serial port
30           used by the SH-IPL bootloader, starting very early in the boot
31           process and ending when the kernel's serial console is initialised.
32           This option is only useful while porting the kernel to a new machine,
33           when the kernel may crash or hang before the serial console is
34           initialised.  If unsure, say N.
35
36 config 4KSTACKS
37         bool "Use 4Kb for kernel stacks instead of 8Kb"
38         depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
39         help
40           If you say Y here the kernel will use a 4Kb stacksize for the
41           kernel stack attached to each process/thread. This facilitates
42           running more threads on a system and also reduces the pressure
43           on the VM subsystem for higher order allocations. This option
44           will also use IRQ stacks to compensate for the reduced stackspace.
45
46 config IRQSTACKS
47         bool "Use separate kernel stacks when processing interrupts"
48         depends on DEBUG_KERNEL && BROKEN
49         help
50           If you say Y here the kernel will use separate kernel stacks
51           for handling hard and soft interrupts.  This can help avoid
52           overflowing the process kernel stacks.
53
54 config DUMP_CODE
55         bool "Show disassembly of nearby code in register dumps"
56         depends on DEBUG_KERNEL
57         default y if DEBUG_BUGVERBOSE
58         default n
59         help
60           This prints out a code trace of the instructions leading up to
61           the faulting instruction as a debugging aid. As this does grow
62           the kernel in size a bit, most users will want to say N here.
63
64           Those looking for more verbose debugging output should say Y.
65
66 config DWARF_UNWINDER
67         bool "Enable the DWARF unwinder for stacktraces"
68         depends on DEBUG_KERNEL
69         select FRAME_POINTER
70         default n
71         help
72           Enabling this option will make stacktraces more accurate, at
73           the cost of an increase in overall kernel size.
74
75 config SH_NO_BSS_INIT
76         bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
77         depends on DEBUG_KERNEL
78         default n
79         help
80           If running in painfully slow environments, such as an RTL
81           simulation or from remote memory via SHdebug, where the memory
82           can already be guaranteed to ber zeroed on boot, say Y.
83
84           For all other cases, say N. If this option seems perplexing, or
85           you aren't sure, say N.
86
87 config MCOUNT
88         def_bool y
89         depends on STACK_DEBUG || FUNCTION_TRACER