2005-04-17 02:20:36 +04:00
|
|
|
menu "Kernel hacking"
|
|
|
|
|
2006-07-07 17:07:18 +04:00
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
|
2009-12-17 04:57:30 +03:00
|
|
|
config EARLY_PRINTK
|
2011-01-21 01:44:16 +03:00
|
|
|
bool "Early printk" if EXPERT
|
2009-12-17 04:57:30 +03:00
|
|
|
depends on SYS_HAS_EARLY_PRINTK
|
|
|
|
default y
|
|
|
|
help
|
|
|
|
This option enables special console drivers which allow the kernel
|
|
|
|
to print messages very early in the bootup process.
|
|
|
|
|
|
|
|
This is useful for kernel debugging when your machine crashes very
|
|
|
|
early before the console code is initialized. For normal operation,
|
|
|
|
it is not recommended because it looks ugly on some machines and
|
|
|
|
doesn't cooperate with an X server. You should normally say N here,
|
|
|
|
unless you want to debug such a crash.
|
|
|
|
|
2010-02-08 14:59:39 +03:00
|
|
|
config EARLY_PRINTK_8250
|
2014-03-27 00:40:25 +04:00
|
|
|
bool
|
|
|
|
depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
|
|
|
|
default y
|
2010-02-08 14:59:39 +03:00
|
|
|
help
|
2014-03-27 00:40:25 +04:00
|
|
|
"8250/16550 and compatible serial early printk driver"
|
2010-02-08 14:59:39 +03:00
|
|
|
If you say Y here, it will be possible to use a 8250/16550 serial
|
|
|
|
port as the boot console.
|
|
|
|
|
2014-03-27 00:40:25 +04:00
|
|
|
config USE_GENERIC_EARLY_PRINTK_8250
|
|
|
|
bool
|
|
|
|
|
2009-11-21 23:34:41 +03:00
|
|
|
config CMDLINE_BOOL
|
|
|
|
bool "Built-in kernel command line"
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
For most systems, it is firmware or second stage bootloader that
|
|
|
|
by default specifies the kernel command line options. However,
|
|
|
|
it might be necessary or advantageous to either override the
|
|
|
|
default kernel command line or add a few extra options to it.
|
|
|
|
For such cases, this option allows you to hardcode your own
|
|
|
|
command line options directly into the kernel. For that, you
|
|
|
|
should choose 'Y' here, and fill in the extra boot arguments
|
|
|
|
in CONFIG_CMDLINE.
|
|
|
|
|
|
|
|
The built-in options will be concatenated to the default command
|
|
|
|
line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
|
|
|
|
command line will be ignored and replaced by the built-in string.
|
|
|
|
|
|
|
|
Most MIPS systems will normally expect 'N' here and rely upon
|
|
|
|
the command line from the firmware or the second-stage bootloader.
|
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
config CMDLINE
|
|
|
|
string "Default kernel command string"
|
2009-11-21 23:34:41 +03:00
|
|
|
depends on CMDLINE_BOOL
|
2005-04-17 02:20:36 +04:00
|
|
|
default ""
|
|
|
|
help
|
2007-01-25 22:46:14 +03:00
|
|
|
On some platforms, there is currently no way for the boot loader to
|
2009-11-21 23:34:41 +03:00
|
|
|
pass arguments to the kernel. For these platforms, and for the cases
|
|
|
|
when you want to add some extra options to the command line or ignore
|
|
|
|
the default command line, you can supply some command-line options at
|
|
|
|
build time by entering them here. In other cases you can specify
|
|
|
|
kernel args so that you don't have to set them up in board prom
|
|
|
|
initialization routines.
|
|
|
|
|
|
|
|
For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
|
|
|
|
options.
|
|
|
|
|
|
|
|
config CMDLINE_OVERRIDE
|
2012-04-13 19:14:11 +04:00
|
|
|
bool "Built-in command line overrides firmware arguments"
|
2009-11-21 23:34:41 +03:00
|
|
|
default n
|
|
|
|
depends on CMDLINE_BOOL
|
|
|
|
help
|
|
|
|
By setting this option to 'Y' you will have your kernel ignore
|
|
|
|
command line arguments from firmware or second stage bootloader.
|
|
|
|
Instead, the built-in command line will be used exclusively.
|
|
|
|
|
|
|
|
Normally, you will choose 'N' here.
|
2005-04-17 02:20:36 +04:00
|
|
|
|
|
|
|
config SB1XXX_CORELIS
|
|
|
|
bool "Corelis Debugger"
|
|
|
|
depends on SIBYTE_SB1xxx_SOC
|
|
|
|
select DEBUG_INFO
|
|
|
|
help
|
|
|
|
Select compile flags that produce code that can be processed by the
|
|
|
|
Corelis mksym utility and UDB Emulator.
|
|
|
|
|
2010-01-31 15:39:40 +03:00
|
|
|
config DEBUG_ZBOOT
|
|
|
|
bool "Enable compressed kernel support debugging"
|
|
|
|
depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
If you want to add compressed kernel support to a new board, and the
|
|
|
|
board supports uart16550 compatible serial port, please select
|
|
|
|
SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
|
|
|
|
debug it.
|
|
|
|
|
|
|
|
If your board doesn't support uart16550 compatible serial port, you
|
|
|
|
can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
|
|
|
|
debug it. for example, add a new serial port support just as
|
|
|
|
arch/mips/boot/compressed/uart-16550.c does.
|
|
|
|
|
|
|
|
After the compressed kernel support works, please disable this option
|
|
|
|
to reduce the kernel image size and speed up the booting procedure a
|
|
|
|
little.
|
|
|
|
|
2010-02-17 02:26:35 +03:00
|
|
|
config SPINLOCK_TEST
|
|
|
|
bool "Enable spinlock timing tests in debugfs"
|
|
|
|
depends on DEBUG_FS
|
|
|
|
default n
|
|
|
|
help
|
|
|
|
Add several files to the debugfs to test spinlock speed.
|
|
|
|
|
2015-09-22 20:07:41 +03:00
|
|
|
if CPU_MIPSR6
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Compact branch policy"
|
|
|
|
default MIPS_COMPACT_BRANCHES_OPTIMAL
|
|
|
|
|
|
|
|
config MIPS_COMPACT_BRANCHES_NEVER
|
|
|
|
bool "Never (force delay slot branches)"
|
|
|
|
help
|
|
|
|
Pass the -mcompact-branches=never flag to the compiler in order to
|
|
|
|
force it to always emit branches with delay slots, and make no use
|
|
|
|
of the compact branch instructions introduced by MIPSr6. This is
|
|
|
|
useful if you suspect there may be an issue with compact branches in
|
|
|
|
either the compiler or the CPU.
|
|
|
|
|
|
|
|
config MIPS_COMPACT_BRANCHES_OPTIMAL
|
|
|
|
bool "Optimal (use where beneficial)"
|
|
|
|
help
|
|
|
|
Pass the -mcompact-branches=optimal flag to the compiler in order for
|
|
|
|
it to make use of compact branch instructions where it deems them
|
|
|
|
beneficial, and use branches with delay slots elsewhere. This is the
|
|
|
|
default compiler behaviour, and should be used unless you have a
|
|
|
|
reason to choose otherwise.
|
|
|
|
|
|
|
|
config MIPS_COMPACT_BRANCHES_ALWAYS
|
|
|
|
bool "Always (force compact branches)"
|
|
|
|
help
|
|
|
|
Pass the -mcompact-branches=always flag to the compiler in order to
|
|
|
|
force it to always emit compact branches, making no use of branch
|
|
|
|
instructions with delay slots. This can result in more compact code
|
|
|
|
which may be beneficial in some scenarios.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
endif # CPU_MIPSR6
|
|
|
|
|
2015-09-22 20:10:56 +03:00
|
|
|
config SCACHE_DEBUGFS
|
|
|
|
bool "L2 cache debugfs entries"
|
|
|
|
depends on DEBUG_FS
|
|
|
|
help
|
|
|
|
Enable this to allow parts of the L2 cache configuration, such as
|
|
|
|
whether or not prefetching is enabled, to be exposed to userland
|
|
|
|
via debugfs.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2015-09-22 21:12:11 +03:00
|
|
|
menuconfig MIPS_CPS_NS16550
|
|
|
|
bool "CPS SMP NS16550 UART output"
|
|
|
|
depends on MIPS_CPS
|
|
|
|
help
|
|
|
|
Output debug information via an ns16550 compatible UART if exceptions
|
|
|
|
occur early in the boot process of a secondary core.
|
|
|
|
|
|
|
|
if MIPS_CPS_NS16550
|
|
|
|
|
|
|
|
config MIPS_CPS_NS16550_BASE
|
|
|
|
hex "UART Base Address"
|
|
|
|
default 0x1b0003f8 if MIPS_MALTA
|
|
|
|
help
|
|
|
|
The base address of the ns16550 compatible UART on which to output
|
|
|
|
debug information from the early stages of core startup.
|
|
|
|
|
|
|
|
config MIPS_CPS_NS16550_SHIFT
|
|
|
|
int "UART Register Shift"
|
|
|
|
default 0 if MIPS_MALTA
|
|
|
|
help
|
|
|
|
The number of bits to shift ns16550 register indices by in order to
|
|
|
|
form their addresses. That is, log base 2 of the span between
|
|
|
|
adjacent ns16550 registers in the system.
|
|
|
|
|
|
|
|
endif # MIPS_CPS_NS16550
|
|
|
|
|
2005-04-17 02:20:36 +04:00
|
|
|
endmenu
|