2005-04-17 06:20:36 +08:00
|
|
|
menu "Kernel hacking"
|
|
|
|
|
2006-12-04 17:17:28 +08:00
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
2007-12-11 12:49:35 +08:00
|
|
|
def_bool y
|
2006-12-04 17:17:28 +08:00
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
|
|
|
|
config SH_STANDARD_BIOS
|
|
|
|
bool "Use LinuxSH standard BIOS"
|
2008-04-25 10:54:06 +08:00
|
|
|
depends on SUPERH32
|
2005-04-17 06:20:36 +08:00
|
|
|
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"
|
2006-11-27 11:10:23 +08:00
|
|
|
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
|
2007-08-07 17:52:29 +08:00
|
|
|
hex
|
2006-11-27 11:10:23 +08:00
|
|
|
depends on EARLY_SCIF_CONSOLE
|
2007-04-26 10:51:00 +08:00
|
|
|
default "0xa4400000" if CPU_SUBTYPE_SH7712 || CPU_SUBTYPE_SH7705
|
2007-12-26 10:45:06 +08:00
|
|
|
default "0xa4430000" if CPU_SUBTYPE_SH7720 || CPU_SUBTYPE_SH7721
|
2008-03-13 11:52:44 +08:00
|
|
|
default "0xf8420000" if CPU_SUBTYPE_SH7619
|
|
|
|
default "0xff804000" if CPU_SUBTYPE_MXG
|
2007-08-07 17:52:29 +08:00
|
|
|
default "0xffc30000" if CPU_SUBTYPE_SHX3
|
2008-03-13 11:52:44 +08:00
|
|
|
default "0xffe00000" if CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7763 || \
|
2008-07-07 20:11:51 +08:00
|
|
|
CPU_SUBTYPE_SH7722 || CPU_SUBTYPE_SH7366 || \
|
|
|
|
CPU_SUBTYPE_SH7343
|
2006-11-27 11:10:23 +08:00
|
|
|
default "0xffe80000" if CPU_SH4
|
2008-03-13 11:52:44 +08:00
|
|
|
default "0xffea0000" if CPU_SUBTYPE_SH7785
|
|
|
|
default "0xfffe8000" if CPU_SUBTYPE_SH7203
|
|
|
|
default "0xfffe9800" if CPU_SUBTYPE_SH7206 || CPU_SUBTYPE_SH7263
|
2007-08-07 17:52:29 +08:00
|
|
|
default "0x00000000"
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2006-11-27 11:10:23 +08:00
|
|
|
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.
|
|
|
|
|
2007-06-01 13:19:22 +08:00
|
|
|
config DEBUG_BOOTMEM
|
|
|
|
depends on DEBUG_KERNEL
|
|
|
|
bool "Debug BOOTMEM initialization"
|
|
|
|
|
2006-09-27 17:20:16 +08:00
|
|
|
config DEBUG_STACKOVERFLOW
|
|
|
|
bool "Check for stack overflows"
|
2007-11-21 16:47:15 +08:00
|
|
|
depends on DEBUG_KERNEL && SUPERH32
|
2006-09-27 17:20:16 +08:00
|
|
|
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.
|
|
|
|
|
2006-09-27 17:22:14 +08:00
|
|
|
config 4KSTACKS
|
|
|
|
bool "Use 4Kb for kernel stacks instead of 8Kb"
|
2008-09-20 19:16:35 +08:00
|
|
|
depends on DEBUG_KERNEL && (MMU || BROKEN) && !PAGE_SIZE_64KB
|
2006-09-27 17:22:14 +08:00
|
|
|
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.
|
|
|
|
|
2007-11-02 11:16:51 +08:00
|
|
|
config IRQSTACKS
|
|
|
|
bool "Use separate kernel stacks when processing interrupts"
|
2007-11-21 16:47:15 +08:00
|
|
|
depends on DEBUG_KERNEL && SUPERH32
|
2007-11-02 11:16:51 +08:00
|
|
|
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.
|
|
|
|
|
2008-12-17 14:56:06 +08:00
|
|
|
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.
|
|
|
|
|
2008-12-17 14:33:43 +08:00
|
|
|
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.
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
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
|
|
|
|
|
2007-11-21 15:58:56 +08:00
|
|
|
config SH64_SR_WATCH
|
|
|
|
bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
|
2008-12-17 14:36:50 +08:00
|
|
|
depends on SUPERH64
|
2007-11-21 15:58:56 +08:00
|
|
|
|
|
|
|
config POOR_MANS_STRACE
|
|
|
|
bool "Debug: enable rudimentary strace facility"
|
2008-12-17 14:36:50 +08:00
|
|
|
depends on SUPERH64
|
2007-11-21 15:58:56 +08:00
|
|
|
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.)
|
|
|
|
|
2005-04-17 06:20:36 +08:00
|
|
|
endmenu
|