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