7e5e371ee5
The MIPS_CPS_NS16550_BASE and MIPS_CPS_NS16550_SHIFT options have no
defaults for non-Malta platforms which select SYS_SUPPORTS_MIPS_CPS
(i.e. the pistachio and generic platforms). This is problematic for
automated allyesconfig and allmodconfig builds based on these platforms,
since make silentoldconfig tries to ask the user for values, and
especially since v4.15 where the default platform was switched to
generic.
Default these options to 0 and arrange for MIPS_CPS_NS16550 to be no
when using that default base address, so that the option only has an
effect when the default is provided (i.e. Malta) or when a value is
provided by the user.
Fixes: 609cf6f229
("MIPS: CPS: Early debug using an ns16550-compatible UART")
Signed-off-by: James Hogan <jhogan@kernel.org>
Reviewed-by: Paul Burton <paul.burton@mips.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/17749/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
159 lines
5.1 KiB
Text
159 lines
5.1 KiB
Text
# SPDX-License-Identifier: GPL-2.0
|
|
menu "Kernel hacking"
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
config EARLY_PRINTK
|
|
bool "Early printk" if EXPERT
|
|
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.
|
|
|
|
config EARLY_PRINTK_8250
|
|
bool
|
|
depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
|
|
default y
|
|
help
|
|
"8250/16550 and compatible serial early printk driver"
|
|
If you say Y here, it will be possible to use a 8250/16550 serial
|
|
port as the boot console.
|
|
|
|
config USE_GENERIC_EARLY_PRINTK_8250
|
|
bool
|
|
|
|
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.
|
|
|
|
config CMDLINE
|
|
string "Default kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default ""
|
|
help
|
|
On some platforms, there is currently no way for the boot loader to
|
|
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
|
|
bool "Built-in command line overrides firmware arguments"
|
|
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.
|
|
|
|
config SB1XXX_CORELIS
|
|
bool "Corelis Debugger"
|
|
depends on SIBYTE_SB1xxx_SOC
|
|
select DEBUG_INFO if !COMPILE_TEST
|
|
help
|
|
Select compile flags that produce code that can be processed by the
|
|
Corelis mksym utility and UDB Emulator.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
menuconfig MIPS_CPS_NS16550_BOOL
|
|
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_BOOL
|
|
|
|
config MIPS_CPS_NS16550
|
|
def_bool MIPS_CPS_NS16550_BASE != 0
|
|
|
|
config MIPS_CPS_NS16550_BASE
|
|
hex "UART Base Address"
|
|
default 0x1b0003f8 if MIPS_MALTA
|
|
default 0
|
|
help
|
|
The base address of the ns16550 compatible UART on which to output
|
|
debug information from the early stages of core startup.
|
|
|
|
This is only used if non-zero.
|
|
|
|
config MIPS_CPS_NS16550_SHIFT
|
|
int "UART Register Shift"
|
|
default 0
|
|
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_BOOL
|
|
|
|
endmenu
|