summaryrefslogtreecommitdiff
path: root/arch/sh/Kconfig.debug
blob: fdb049373e7c0324aafd47642415b4c686bb164b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
menu "Kernel hacking"

config TRACE_IRQFLAGS_SUPPORT
	def_bool y

source "lib/Kconfig.debug"

config SH_STANDARD_BIOS
	bool "Use LinuxSH standard BIOS"
	depends on SUPERH32
	help
	  Say Y here if your target has the gdb-sh-stub
	  package from www.m17n.org (or any conforming standard LinuxSH BIOS)
	  in FLASH or EPROM.  The kernel will use standard BIOS calls during
	  boot for various housekeeping tasks (including calls to read and
	  write characters to a system console, get a MAC address from an
	  on-board Ethernet interface, and shut down the hardware).  Note this
	  does not work with machines with an existing operating system in
	  mask ROM and no flash (WindowsCE machines fall in this category).
	  If unsure, say N.

config EARLY_SCIF_CONSOLE
	bool "Use early SCIF console"
	help
	  This enables an early console using a fixed SCIF port. This can
	  be used by platforms that are either not running the SH
	  standard BIOS, or do not wish to use the BIOS callbacks for the
	  serial I/O.

config EARLY_SCIF_CONSOLE_PORT
	hex
	depends on EARLY_SCIF_CONSOLE
	default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
	default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721
	default "0xf8420000" if CPU_SUBTYPE_SH7619
	default "0xff804000" if CPU_SUBTYPE_MXG
	default "0xffc30000" if CPU_SUBTYPE_SHX3
	default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \
				CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
				CPU_SUBTYPE_SH7343
	default "0xffe80000" if CPU_SH4
	default "0xffea0000" if CPU_SUBTYPE_SH7785
	default "0xfffe8000" if CPU_SUBTYPE_SH7203
	default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
	default "0x00000000"

config EARLY_PRINTK
	bool "Early printk support"
	depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE
	help
	  Say Y here to redirect kernel printk messages to the serial port
	  used by the SH-IPL bootloader, starting very early in the boot
	  process and ending when the kernel's serial console is initialised.
	  This option is only useful porting the kernel to a new machine,
	  when the kernel may crash or hang before the serial console is
	  initialised. If unsure, say N.

	  On devices that are running SH-IPL and want to keep the port
	  initialization consistent while not using the BIOS callbacks,
	  select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
	  the kernel command line option to toggle back and forth.

config DEBUG_BOOTMEM
	depends on DEBUG_KERNEL
	bool "Debug BOOTMEM initialization"

config DEBUG_STACKOVERFLOW
	bool "Check for stack overflows"
	depends on DEBUG_KERNEL && SUPERH32
	help
	  This option will cause messages to be printed if free stack space
	  drops below a certain limit.

config DEBUG_STACK_USAGE
	bool "Stack utilization instrumentation"
	depends on DEBUG_KERNEL
	help
	  Enables the display of the minimum amount of free stack which each
	  task has ever had available in the sysrq-T and sysrq-P debug output.

	  This option will slow down process creation somewhat.

config 4KSTACKS
	bool "Use 4Kb for kernel stacks instead of 8Kb"
	depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
	help
	  If you say Y here the kernel will use a 4Kb stacksize for the
	  kernel stack attached to each process/thread. This facilitates
	  running more threads on a system and also reduces the pressure
	  on the VM subsystem for higher order allocations. This option
	  will also use IRQ stacks to compensate for the reduced stackspace.

config IRQSTACKS
	bool "Use separate kernel stacks when processing interrupts"
	depends on DEBUG_KERNEL && SUPERH32 && BROKEN
	help
	  If you say Y here the kernel will use separate kernel stacks
	  for handling hard and soft interrupts.  This can help avoid
	  overflowing the process kernel stacks.

config DUMP_CODE
	bool "Show disassembly of nearby code in register dumps"
	depends on DEBUG_KERNEL && SUPERH32
	default y if DEBUG_BUGVERBOSE
	default n
	help
	  This prints out a code trace of the instructions leading up to
	  the faulting instruction as a debugging aid. As this does grow
	  the kernel in size a bit, most users will want to say N here.

	  Those looking for more verbose debugging output should say Y.

config SH_NO_BSS_INIT
	bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
	depends on DEBUG_KERNEL
	default n
	help
	  If running in painfully slow environments, such as an RTL
	  simulation or from remote memory via SHdebug, where the memory
	  can already be gauranteed to ber zeroed on boot, say Y.

	  For all other cases, say N. If this option seems perplexing, or
	  you aren't sure, say N.

config MORE_COMPILE_OPTIONS
	bool "Add any additional compile options"
	help
	  If you want to add additional CFLAGS to the kernel build, enable this
	  option and then enter what you would like to add in the next question.
	  Note however that -g is already appended with the selection of KGDB.

config COMPILE_OPTIONS
	string "Additional compile arguments"
	depends on MORE_COMPILE_OPTIONS

config SH64_SR_WATCH
	bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
	depends on SUPERH64

config POOR_MANS_STRACE
	bool "Debug: enable rudimentary strace facility"
	depends on SUPERH64
	help
	  This option allows system calls to be traced to the console.  It also
	  aids in detecting kernel stack underflow.  It is useful for debugging
	  early-userland problems (e.g. init incurring fatal exceptions.)

endmenu