18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciconfig TRACE_IRQFLAGS_SUPPORT
48c2ecf20Sopenharmony_ci	def_bool y
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig SH_STANDARD_BIOS
78c2ecf20Sopenharmony_ci	bool "Use LinuxSH standard BIOS"
88c2ecf20Sopenharmony_ci	help
98c2ecf20Sopenharmony_ci	  Say Y here if your target has the gdb-sh-stub
108c2ecf20Sopenharmony_ci	  package from www.m17n.org (or any conforming standard LinuxSH BIOS)
118c2ecf20Sopenharmony_ci	  in FLASH or EPROM.  The kernel will use standard BIOS calls during
128c2ecf20Sopenharmony_ci	  boot for various housekeeping tasks (including calls to read and
138c2ecf20Sopenharmony_ci	  write characters to a system console, get a MAC address from an
148c2ecf20Sopenharmony_ci	  on-board Ethernet interface, and shut down the hardware).  Note this
158c2ecf20Sopenharmony_ci	  does not work with machines with an existing operating system in
168c2ecf20Sopenharmony_ci	  mask ROM and no flash (WindowsCE machines fall in this category).
178c2ecf20Sopenharmony_ci	  If unsure, say N.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciconfig STACK_DEBUG
208c2ecf20Sopenharmony_ci	bool "Check for stack overflows"
218c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL && PRINTK
228c2ecf20Sopenharmony_ci	help
238c2ecf20Sopenharmony_ci	  This option will cause messages to be printed if free stack space
248c2ecf20Sopenharmony_ci	  drops below a certain limit. Saying Y here will add overhead to
258c2ecf20Sopenharmony_ci	  every function call and will therefore incur a major
268c2ecf20Sopenharmony_ci	  performance hit. Most users should say N.
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ciconfig EARLY_PRINTK
298c2ecf20Sopenharmony_ci	bool "Early printk"
308c2ecf20Sopenharmony_ci	depends on SH_STANDARD_BIOS
318c2ecf20Sopenharmony_ci	help
328c2ecf20Sopenharmony_ci	  Say Y here to redirect kernel printk messages to the serial port
338c2ecf20Sopenharmony_ci	  used by the SH-IPL bootloader, starting very early in the boot
348c2ecf20Sopenharmony_ci	  process and ending when the kernel's serial console is initialised.
358c2ecf20Sopenharmony_ci	  This option is only useful while porting the kernel to a new machine,
368c2ecf20Sopenharmony_ci	  when the kernel may crash or hang before the serial console is
378c2ecf20Sopenharmony_ci	  initialised.  If unsure, say N.
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ciconfig 4KSTACKS
408c2ecf20Sopenharmony_ci	bool "Use 4Kb for kernel stacks instead of 8Kb"
418c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
428c2ecf20Sopenharmony_ci	help
438c2ecf20Sopenharmony_ci	  If you say Y here the kernel will use a 4Kb stacksize for the
448c2ecf20Sopenharmony_ci	  kernel stack attached to each process/thread. This facilitates
458c2ecf20Sopenharmony_ci	  running more threads on a system and also reduces the pressure
468c2ecf20Sopenharmony_ci	  on the VM subsystem for higher order allocations. This option
478c2ecf20Sopenharmony_ci	  will also use IRQ stacks to compensate for the reduced stackspace.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ciconfig IRQSTACKS
508c2ecf20Sopenharmony_ci	bool "Use separate kernel stacks when processing interrupts"
518c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL && BROKEN
528c2ecf20Sopenharmony_ci	help
538c2ecf20Sopenharmony_ci	  If you say Y here the kernel will use separate kernel stacks
548c2ecf20Sopenharmony_ci	  for handling hard and soft interrupts.  This can help avoid
558c2ecf20Sopenharmony_ci	  overflowing the process kernel stacks.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciconfig DUMP_CODE
588c2ecf20Sopenharmony_ci	bool "Show disassembly of nearby code in register dumps"
598c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
608c2ecf20Sopenharmony_ci	default y if DEBUG_BUGVERBOSE
618c2ecf20Sopenharmony_ci	default n
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  This prints out a code trace of the instructions leading up to
648c2ecf20Sopenharmony_ci	  the faulting instruction as a debugging aid. As this does grow
658c2ecf20Sopenharmony_ci	  the kernel in size a bit, most users will want to say N here.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  Those looking for more verbose debugging output should say Y.
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ciconfig DWARF_UNWINDER
708c2ecf20Sopenharmony_ci	bool "Enable the DWARF unwinder for stacktraces"
718c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
728c2ecf20Sopenharmony_ci	select FRAME_POINTER
738c2ecf20Sopenharmony_ci	default n
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Enabling this option will make stacktraces more accurate, at
768c2ecf20Sopenharmony_ci	  the cost of an increase in overall kernel size.
778c2ecf20Sopenharmony_ci
788c2ecf20Sopenharmony_ciconfig SH_NO_BSS_INIT
798c2ecf20Sopenharmony_ci	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
808c2ecf20Sopenharmony_ci	depends on DEBUG_KERNEL
818c2ecf20Sopenharmony_ci	default n
828c2ecf20Sopenharmony_ci	help
838c2ecf20Sopenharmony_ci	  If running in painfully slow environments, such as an RTL
848c2ecf20Sopenharmony_ci	  simulation or from remote memory via SHdebug, where the memory
858c2ecf20Sopenharmony_ci	  can already be guaranteed to ber zeroed on boot, say Y.
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	  For all other cases, say N. If this option seems perplexing, or
888c2ecf20Sopenharmony_ci	  you aren't sure, say N.
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ciconfig MCOUNT
918c2ecf20Sopenharmony_ci	def_bool y
928c2ecf20Sopenharmony_ci	depends on STACK_DEBUG || FUNCTION_TRACER
93