xref: /openbmc/linux/arch/sh/Kconfig.debug (revision 6d01f510)
11da177e4SLinus Torvaldsmenu "Kernel hacking"
21da177e4SLinus Torvalds
3afbfb52eSPaul Mundtconfig TRACE_IRQFLAGS_SUPPORT
4afbfb52eSPaul Mundt	bool
5afbfb52eSPaul Mundt	default y
6afbfb52eSPaul Mundt
71da177e4SLinus Torvaldssource "lib/Kconfig.debug"
81da177e4SLinus Torvalds
91da177e4SLinus Torvaldsconfig SH_STANDARD_BIOS
101da177e4SLinus Torvalds	bool "Use LinuxSH standard BIOS"
111da177e4SLinus Torvalds	help
121da177e4SLinus Torvalds	  Say Y here if your target has the gdb-sh-stub
131da177e4SLinus Torvalds	  package from www.m17n.org (or any conforming standard LinuxSH BIOS)
141da177e4SLinus Torvalds	  in FLASH or EPROM.  The kernel will use standard BIOS calls during
151da177e4SLinus Torvalds	  boot for various housekeeping tasks (including calls to read and
161da177e4SLinus Torvalds	  write characters to a system console, get a MAC address from an
171da177e4SLinus Torvalds	  on-board Ethernet interface, and shut down the hardware).  Note this
181da177e4SLinus Torvalds	  does not work with machines with an existing operating system in
191da177e4SLinus Torvalds	  mask ROM and no flash (WindowsCE machines fall in this category).
201da177e4SLinus Torvalds	  If unsure, say N.
211da177e4SLinus Torvalds
221da177e4SLinus Torvaldsconfig EARLY_SCIF_CONSOLE
231da177e4SLinus Torvalds	bool "Use early SCIF console"
246fc21b82SPaul Mundt	help
256fc21b82SPaul Mundt	  This enables an early console using a fixed SCIF port. This can
266fc21b82SPaul Mundt	  be used by platforms that are either not running the SH
276fc21b82SPaul Mundt	  standard BIOS, or do not wish to use the BIOS callbacks for the
286fc21b82SPaul Mundt	  serial I/O.
296fc21b82SPaul Mundt
306fc21b82SPaul Mundtconfig EARLY_SCIF_CONSOLE_PORT
318d797cd1SPaul Mundt	hex
326fc21b82SPaul Mundt	depends on EARLY_SCIF_CONSOLE
336fc21b82SPaul Mundt	default "0xffe00000" if CPU_SUBTYPE_SH7780
345cbc3af5SMagnus Damm	default "0xffea0000" if CPU_SUBTYPE_SH7785
356d01f510SPaul Mundt	default "0xfffe8000" if CPU_SUBTYPE_SH7203
3611cbb70eSYoshinori Sato	default "0xfffe9800" if CPU_SUBTYPE_SH7206
3711cbb70eSYoshinori Sato	default "0xf8420000" if CPU_SUBTYPE_SH7619
382a8ff459SNobuhiro Iwamatsu	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
393ea6bc3dSMarkus Brunner	default "0xa4430000" if CPU_SUBTYPE_SH7720
408d797cd1SPaul Mundt	default "0xffc30000" if CPU_SUBTYPE_SHX3
416fc21b82SPaul Mundt	default "0xffe80000" if CPU_SH4
428d797cd1SPaul Mundt	default "0x00000000"
431da177e4SLinus Torvalds
441da177e4SLinus Torvaldsconfig EARLY_PRINTK
451da177e4SLinus Torvalds	bool "Early printk support"
461da177e4SLinus Torvalds	depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE
471da177e4SLinus Torvalds	help
481da177e4SLinus Torvalds	  Say Y here to redirect kernel printk messages to the serial port
491da177e4SLinus Torvalds	  used by the SH-IPL bootloader, starting very early in the boot
501da177e4SLinus Torvalds	  process and ending when the kernel's serial console is initialised.
511da177e4SLinus Torvalds	  This option is only useful porting the kernel to a new machine,
521da177e4SLinus Torvalds	  when the kernel may crash or hang before the serial console is
531da177e4SLinus Torvalds	  initialised. If unsure, say N.
541da177e4SLinus Torvalds
556fc21b82SPaul Mundt	  On devices that are running SH-IPL and want to keep the port
566fc21b82SPaul Mundt	  initialization consistent while not using the BIOS callbacks,
576fc21b82SPaul Mundt	  select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
586fc21b82SPaul Mundt	  the kernel command line option to toggle back and forth.
596fc21b82SPaul Mundt
6091e656aaSPaul Mundtconfig DEBUG_BOOTMEM
6191e656aaSPaul Mundt	depends on DEBUG_KERNEL
6291e656aaSPaul Mundt	bool "Debug BOOTMEM initialization"
6391e656aaSPaul Mundt
64d153ea88SPaul Mundtconfig DEBUG_STACKOVERFLOW
65d153ea88SPaul Mundt	bool "Check for stack overflows"
665db141a9SPaul Mundt	depends on DEBUG_KERNEL && SUPERH32
67d153ea88SPaul Mundt	help
68d153ea88SPaul Mundt	  This option will cause messages to be printed if free stack space
69d153ea88SPaul Mundt	  drops below a certain limit.
70d153ea88SPaul Mundt
71d153ea88SPaul Mundtconfig DEBUG_STACK_USAGE
72d153ea88SPaul Mundt	bool "Stack utilization instrumentation"
73d153ea88SPaul Mundt	depends on DEBUG_KERNEL
74d153ea88SPaul Mundt	help
75d153ea88SPaul Mundt	  Enables the display of the minimum amount of free stack which each
76d153ea88SPaul Mundt	  task has ever had available in the sysrq-T and sysrq-P debug output.
77d153ea88SPaul Mundt
78d153ea88SPaul Mundt	  This option will slow down process creation somewhat.
79d153ea88SPaul Mundt
80a6a31139SPaul Mundtconfig 4KSTACKS
81a6a31139SPaul Mundt	bool "Use 4Kb for kernel stacks instead of 8Kb"
82a6a31139SPaul Mundt	depends on DEBUG_KERNEL
83a6a31139SPaul Mundt	help
84a6a31139SPaul Mundt	  If you say Y here the kernel will use a 4Kb stacksize for the
85a6a31139SPaul Mundt	  kernel stack attached to each process/thread. This facilitates
86a6a31139SPaul Mundt	  running more threads on a system and also reduces the pressure
87a6a31139SPaul Mundt	  on the VM subsystem for higher order allocations. This option
88a6a31139SPaul Mundt	  will also use IRQ stacks to compensate for the reduced stackspace.
89a6a31139SPaul Mundt
90110ed282SPaul Mundtconfig IRQSTACKS
91110ed282SPaul Mundt	bool "Use separate kernel stacks when processing interrupts"
925db141a9SPaul Mundt	depends on DEBUG_KERNEL && SUPERH32
93110ed282SPaul Mundt	help
94110ed282SPaul Mundt	  If you say Y here the kernel will use separate kernel stacks
95110ed282SPaul Mundt	  for handling hard and soft interrupts.  This can help avoid
96110ed282SPaul Mundt	  overflowing the process kernel stacks.
97110ed282SPaul Mundt
98fa5da2f7SPaul Mundtconfig SH_KGDB
991da177e4SLinus Torvalds	bool "Include KGDB kernel debugger"
1002549b322SPaul Mundt	select FRAME_POINTER
101fa5da2f7SPaul Mundt	select DEBUG_INFO
102357d5946SPaul Mundt	depends on CPU_SH3 || CPU_SH4
1031da177e4SLinus Torvalds	help
1041da177e4SLinus Torvalds	  Include in-kernel hooks for kgdb, the Linux kernel source level
1051da177e4SLinus Torvalds	  debugger.  See <http://kgdb.sourceforge.net/> for more information.
1061da177e4SLinus Torvalds	  Unless you are intending to debug the kernel, say N here.
1071da177e4SLinus Torvalds
1081da177e4SLinus Torvaldsmenu "KGDB configuration options"
109fa5da2f7SPaul Mundt	depends on SH_KGDB
1101da177e4SLinus Torvalds
1111da177e4SLinus Torvaldsconfig MORE_COMPILE_OPTIONS
1121da177e4SLinus Torvalds	bool "Add any additional compile options"
1131da177e4SLinus Torvalds	help
1141da177e4SLinus Torvalds	  If you want to add additional CFLAGS to the kernel build, enable this
1151da177e4SLinus Torvalds	  option and then enter what you would like to add in the next question.
1161da177e4SLinus Torvalds	  Note however that -g is already appended with the selection of KGDB.
1171da177e4SLinus Torvalds
1181da177e4SLinus Torvaldsconfig COMPILE_OPTIONS
1191da177e4SLinus Torvalds	string "Additional compile arguments"
1201da177e4SLinus Torvalds	depends on MORE_COMPILE_OPTIONS
1211da177e4SLinus Torvalds
1221da177e4SLinus Torvaldsconfig KGDB_NMI
1231da177e4SLinus Torvalds	bool "Enter KGDB on NMI"
1241da177e4SLinus Torvalds	default n
1251da177e4SLinus Torvalds
1261da177e4SLinus Torvaldsconfig SH_KGDB_CONSOLE
1271da177e4SLinus Torvalds	bool "Console messages through GDB"
128808bde25SPaul Mundt	depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
129fa5da2f7SPaul Mundt	select SERIAL_CORE_CONSOLE
1301da177e4SLinus Torvalds	default n
1311da177e4SLinus Torvalds
1321da177e4SLinus Torvaldsconfig KGDB_SYSRQ
1331da177e4SLinus Torvalds	bool "Allow SysRq 'G' to enter KGDB"
1340acc729eSPaul Mundt	depends on MAGIC_SYSRQ
1351da177e4SLinus Torvalds	default y
1361da177e4SLinus Torvalds
1371da177e4SLinus Torvaldscomment "Serial port setup"
1381da177e4SLinus Torvalds
1391da177e4SLinus Torvaldsconfig KGDB_DEFPORT
1401da177e4SLinus Torvalds	int "Port number (ttySCn)"
1411da177e4SLinus Torvalds	default "1"
1421da177e4SLinus Torvalds
1431da177e4SLinus Torvaldsconfig KGDB_DEFBAUD
1441da177e4SLinus Torvalds	int "Baud rate"
1451da177e4SLinus Torvalds	default "115200"
1461da177e4SLinus Torvalds
1471da177e4SLinus Torvaldschoice
1481da177e4SLinus Torvalds	prompt "Parity"
149fa5da2f7SPaul Mundt	depends on SH_KGDB
1501da177e4SLinus Torvalds	default KGDB_DEFPARITY_N
1511da177e4SLinus Torvalds
1521da177e4SLinus Torvaldsconfig KGDB_DEFPARITY_N
1531da177e4SLinus Torvalds	bool "None"
1541da177e4SLinus Torvalds
1551da177e4SLinus Torvaldsconfig KGDB_DEFPARITY_E
1561da177e4SLinus Torvalds	bool "Even"
1571da177e4SLinus Torvalds
1581da177e4SLinus Torvaldsconfig KGDB_DEFPARITY_O
1591da177e4SLinus Torvalds	bool "Odd"
1601da177e4SLinus Torvalds
1611da177e4SLinus Torvaldsendchoice
1621da177e4SLinus Torvalds
1631da177e4SLinus Torvaldschoice
1641da177e4SLinus Torvalds	prompt "Data bits"
165fa5da2f7SPaul Mundt	depends on SH_KGDB
1661da177e4SLinus Torvalds	default KGDB_DEFBITS_8
1671da177e4SLinus Torvalds
1681da177e4SLinus Torvaldsconfig KGDB_DEFBITS_8
1691da177e4SLinus Torvalds	bool "8"
1701da177e4SLinus Torvalds
1711da177e4SLinus Torvaldsconfig KGDB_DEFBITS_7
1721da177e4SLinus Torvalds	bool "7"
1731da177e4SLinus Torvalds
1741da177e4SLinus Torvaldsendchoice
1751da177e4SLinus Torvalds
1761da177e4SLinus Torvaldsendmenu
1771da177e4SLinus Torvalds
1788214d52aSPaul Mundtif SUPERH64
1798214d52aSPaul Mundt
1808214d52aSPaul Mundtconfig SH64_PROC_ASIDS
1818214d52aSPaul Mundt	bool "Debug: report ASIDs through /proc/asids"
1828214d52aSPaul Mundt	depends on PROC_FS
1838214d52aSPaul Mundt
1848214d52aSPaul Mundtconfig SH64_SR_WATCH
1858214d52aSPaul Mundt	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
1868214d52aSPaul Mundt
1878214d52aSPaul Mundtconfig POOR_MANS_STRACE
1888214d52aSPaul Mundt	bool "Debug: enable rudimentary strace facility"
1898214d52aSPaul Mundt	help
1908214d52aSPaul Mundt	  This option allows system calls to be traced to the console.  It also
1918214d52aSPaul Mundt	  aids in detecting kernel stack underflow.  It is useful for debugging
1928214d52aSPaul Mundt	  early-userland problems (e.g. init incurring fatal exceptions.)
1938214d52aSPaul Mundt
1948214d52aSPaul Mundtconfig SH_ALPHANUMERIC
1958214d52aSPaul Mundt	bool "Enable debug outputs to on-board alphanumeric display"
1968214d52aSPaul Mundt	depends on SH_CAYMAN
1978214d52aSPaul Mundt
1988214d52aSPaul Mundtconfig SH_NO_BSS_INIT
1998214d52aSPaul Mundt	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
2008214d52aSPaul Mundt
2018214d52aSPaul Mundtendif
2028214d52aSPaul Mundt
2031da177e4SLinus Torvaldsendmenu
204