![Paul Mundt](/assets/img/avatar_default.png)
This combination triggers a divide by zero in kernel/fork.c when calculating the initial max_threads value: max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE); Simply disable 4K stacks on 64kB PAGE_SIZE to work around this, as it's not a terribly useful combination to begin with. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
207 lines
5.9 KiB
Plaintext
207 lines
5.9 KiB
Plaintext
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
|
|
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 SH_KGDB
|
|
bool "Include KGDB kernel debugger"
|
|
select FRAME_POINTER
|
|
select DEBUG_INFO
|
|
depends on CPU_SH3 || CPU_SH4
|
|
help
|
|
Include in-kernel hooks for kgdb, the Linux kernel source level
|
|
debugger. See <http://kgdb.sourceforge.net/> for more information.
|
|
Unless you are intending to debug the kernel, say N here.
|
|
|
|
menu "KGDB configuration options"
|
|
depends on SH_KGDB
|
|
|
|
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 KGDB_NMI
|
|
def_bool n
|
|
prompt "Enter KGDB on NMI"
|
|
|
|
config SH_KGDB_CONSOLE
|
|
def_bool n
|
|
prompt "Console messages through GDB"
|
|
depends on !SERIAL_SH_SCI_CONSOLE && SERIAL_SH_SCI=y
|
|
select SERIAL_CORE_CONSOLE
|
|
|
|
config KGDB_SYSRQ
|
|
def_bool y
|
|
prompt "Allow SysRq 'G' to enter KGDB"
|
|
depends on MAGIC_SYSRQ
|
|
|
|
comment "Serial port setup"
|
|
|
|
config KGDB_DEFPORT
|
|
int "Port number (ttySCn)"
|
|
default "1"
|
|
|
|
config KGDB_DEFBAUD
|
|
int "Baud rate"
|
|
default "115200"
|
|
|
|
choice
|
|
prompt "Parity"
|
|
depends on SH_KGDB
|
|
default KGDB_DEFPARITY_N
|
|
|
|
config KGDB_DEFPARITY_N
|
|
bool "None"
|
|
|
|
config KGDB_DEFPARITY_E
|
|
bool "Even"
|
|
|
|
config KGDB_DEFPARITY_O
|
|
bool "Odd"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Data bits"
|
|
depends on SH_KGDB
|
|
default KGDB_DEFBITS_8
|
|
|
|
config KGDB_DEFBITS_8
|
|
bool "8"
|
|
|
|
config KGDB_DEFBITS_7
|
|
bool "7"
|
|
|
|
endchoice
|
|
|
|
endmenu
|
|
|
|
if SUPERH64
|
|
|
|
config SH64_PROC_ASIDS
|
|
bool "Debug: report ASIDs through /proc/asids"
|
|
depends on PROC_FS && MMU
|
|
|
|
config SH64_SR_WATCH
|
|
bool "Debug: set SR.WATCH to enable hardware watchpoints and trace"
|
|
|
|
config POOR_MANS_STRACE
|
|
bool "Debug: enable rudimentary strace facility"
|
|
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.)
|
|
|
|
config SH_ALPHANUMERIC
|
|
bool "Enable debug outputs to on-board alphanumeric display"
|
|
depends on SH_CAYMAN
|
|
|
|
config SH_NO_BSS_INIT
|
|
bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
|
|
|
|
endif
|
|
|
|
endmenu
|