1menu "Kernel hacking" 2 3config TRACE_IRQFLAGS_SUPPORT 4 def_bool y 5 6source "lib/Kconfig.debug" 7 8config SH_STANDARD_BIOS 9 bool "Use LinuxSH standard BIOS" 10 depends on SUPERH32 11 help 12 Say Y here if your target has the gdb-sh-stub 13 package from www.m17n.org (or any conforming standard LinuxSH BIOS) 14 in FLASH or EPROM. The kernel will use standard BIOS calls during 15 boot for various housekeeping tasks (including calls to read and 16 write characters to a system console, get a MAC address from an 17 on-board Ethernet interface, and shut down the hardware). Note this 18 does not work with machines with an existing operating system in 19 mask ROM and no flash (WindowsCE machines fall in this category). 20 If unsure, say N. 21 22config EARLY_SCIF_CONSOLE 23 bool "Use early SCIF console" 24 help 25 This enables an early console using a fixed SCIF port. This can 26 be used by platforms that are either not running the SH 27 standard BIOS, or do not wish to use the BIOS callbacks for the 28 serial I/O. 29 30config EARLY_SCIF_CONSOLE_PORT 31 hex 32 depends on EARLY_SCIF_CONSOLE 33 default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705 34 default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721 35 default "0xf8420000" if CPU_SUBTYPE_SH7619 36 default "0xff804000" if CPU_SUBTYPE_MXG 37 default "0xffc30000" if CPU_SUBTYPE_SHX3 38 default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \ 39 CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \ 40 CPU_SUBTYPE_SH7343 41 default "0xffe80000" if CPU_SH4 42 default "0xffea0000" if CPU_SUBTYPE_SH7785 43 default "0xfffe8000" if CPU_SUBTYPE_SH7203 44 default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263 45 default "0x00000000" 46 47config EARLY_PRINTK 48 bool "Early printk support" 49 depends on SH_STANDARD_BIOS || EARLY_SCIF_CONSOLE 50 help 51 Say Y here to redirect kernel printk messages to the serial port 52 used by the SH-IPL bootloader, starting very early in the boot 53 process and ending when the kernel's serial console is initialised. 54 This option is only useful porting the kernel to a new machine, 55 when the kernel may crash or hang before the serial console is 56 initialised. If unsure, say N. 57 58 On devices that are running SH-IPL and want to keep the port 59 initialization consistent while not using the BIOS callbacks, 60 select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using 61 the kernel command line option to toggle back and forth. 62 63config DEBUG_BOOTMEM 64 depends on DEBUG_KERNEL 65 bool "Debug BOOTMEM initialization" 66 67config DEBUG_STACKOVERFLOW 68 bool "Check for stack overflows" 69 depends on DEBUG_KERNEL && SUPERH32 70 help 71 This option will cause messages to be printed if free stack space 72 drops below a certain limit. 73 74config DEBUG_STACK_USAGE 75 bool "Stack utilization instrumentation" 76 depends on DEBUG_KERNEL 77 help 78 Enables the display of the minimum amount of free stack which each 79 task has ever had available in the sysrq-T and sysrq-P debug output. 80 81 This option will slow down process creation somewhat. 82 83config 4KSTACKS 84 bool "Use 4Kb for kernel stacks instead of 8Kb" 85 depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB 86 help 87 If you say Y here the kernel will use a 4Kb stacksize for the 88 kernel stack attached to each process/thread. This facilitates 89 running more threads on a system and also reduces the pressure 90 on the VM subsystem for higher order allocations. This option 91 will also use IRQ stacks to compensate for the reduced stackspace. 92 93config IRQSTACKS 94 bool "Use separate kernel stacks when processing interrupts" 95 depends on DEBUG_KERNEL && SUPERH32 96 help 97 If you say Y here the kernel will use separate kernel stacks 98 for handling hard and soft interrupts. This can help avoid 99 overflowing the process kernel stacks. 100 101config DUMP_CODE 102 bool "Show disassembly of nearby code in register dumps" 103 depends on DEBUG_KERNEL && SUPERH32 104 default y if DEBUG_BUGVERBOSE 105 default n 106 help 107 This prints out a code trace of the instructions leading up to 108 the faulting instruction as a debugging aid. As this does grow 109 the kernel in size a bit, most users will want to say N here. 110 111 Those looking for more verbose debugging output should say Y. 112 113config SH_NO_BSS_INIT 114 bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)" 115 depends on DEBUG_KERNEL 116 default n 117 help 118 If running in painfully slow environments, such as an RTL 119 simulation or from remote memory via SHdebug, where the memory 120 can already be gauranteed to ber zeroed on boot, say Y. 121 122 For all other cases, say N. If this option seems perplexing, or 123 you aren't sure, say N. 124 125config MORE_COMPILE_OPTIONS 126 bool "Add any additional compile options" 127 help 128 If you want to add additional CFLAGS to the kernel build, enable this 129 option and then enter what you would like to add in the next question. 130 Note however that -g is already appended with the selection of KGDB. 131 132config COMPILE_OPTIONS 133 string "Additional compile arguments" 134 depends on MORE_COMPILE_OPTIONS 135 136config SH64_SR_WATCH 137 bool "Debug: set SR.WATCH to enable hardware watchpoints and trace" 138 depends on SUPERH64 139 140config POOR_MANS_STRACE 141 bool "Debug: enable rudimentary strace facility" 142 depends on SUPERH64 143 help 144 This option allows system calls to be traced to the console. It also 145 aids in detecting kernel stack underflow. It is useful for debugging 146 early-userland problems (e.g. init incurring fatal exceptions.) 147 148endmenu 149