^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) config TRACE_IRQFLAGS_SUPPORT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) config EARLY_PRINTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) bool "Early printk" if EXPERT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) depends on SYS_HAS_EARLY_PRINTK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) This option enables special console drivers which allow the kernel
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) to print messages very early in the bootup process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) This is useful for kernel debugging when your machine crashes very
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) early before the console code is initialized. For normal operation,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) it is not recommended because it looks ugly on some machines and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) doesn't cooperate with an X server. You should normally say N here,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) unless you want to debug such a crash.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) config EARLY_PRINTK_8250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) default y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) "8250/16550 and compatible serial early printk driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) If you say Y here, it will be possible to use a 8250/16550 serial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) port as the boot console.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) config USE_GENERIC_EARLY_PRINTK_8250
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) config CMDLINE_BOOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) bool "Built-in kernel command line"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) For most systems, it is firmware or second stage bootloader that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) by default specifies the kernel command line options. However,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) it might be necessary or advantageous to either override the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) default kernel command line or add a few extra options to it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) For such cases, this option allows you to hardcode your own
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) command line options directly into the kernel. For that, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) should choose 'Y' here, and fill in the extra boot arguments
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) in CONFIG_CMDLINE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) The built-in options will be concatenated to the default command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) command line will be ignored and replaced by the built-in string.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) Most MIPS systems will normally expect 'N' here and rely upon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) the command line from the firmware or the second-stage bootloader.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) config CMDLINE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) string "Default kernel command string"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) depends on CMDLINE_BOOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) On some platforms, there is currently no way for the boot loader to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) pass arguments to the kernel. For these platforms, and for the cases
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) when you want to add some extra options to the command line or ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) the default command line, you can supply some command-line options at
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) build time by entering them here. In other cases you can specify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) kernel args so that you don't have to set them up in board prom
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) initialization routines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) options.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) config CMDLINE_OVERRIDE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) bool "Built-in command line overrides firmware arguments"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) depends on CMDLINE_BOOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) By setting this option to 'Y' you will have your kernel ignore
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) command line arguments from firmware or second stage bootloader.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Instead, the built-in command line will be used exclusively.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Normally, you will choose 'N' here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) config SB1XXX_CORELIS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) bool "Corelis Debugger"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) depends on SIBYTE_SB1xxx_SOC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) select DEBUG_INFO if !COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Select compile flags that produce code that can be processed by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Corelis mksym utility and UDB Emulator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) config DEBUG_ZBOOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) bool "Enable compressed kernel support debugging"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) If you want to add compressed kernel support to a new board, and the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) board supports uart16550 compatible serial port, please select
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) debug it.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) If your board doesn't support uart16550 compatible serial port, you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) can try to select SYS_SUPPORTS_ZBOOT and use the other methods to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) debug it. for example, add a new serial port support just as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) arch/mips/boot/compressed/uart-16550.c does.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) After the compressed kernel support works, please disable this option
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) to reduce the kernel image size and speed up the booting procedure a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) little.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) config SPINLOCK_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) bool "Enable spinlock timing tests in debugfs"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) depends on DEBUG_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) default n
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Add several files to the debugfs to test spinlock speed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) config SCACHE_DEBUGFS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) bool "L2 cache debugfs entries"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) depends on DEBUG_FS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) Enable this to allow parts of the L2 cache configuration, such as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) whether or not prefetching is enabled, to be exposed to userland
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) via debugfs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) menuconfig MIPS_CPS_NS16550_BOOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) bool "CPS SMP NS16550 UART output"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) depends on MIPS_CPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) Output debug information via an ns16550 compatible UART if exceptions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) occur early in the boot process of a secondary core.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) if MIPS_CPS_NS16550_BOOL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) config MIPS_CPS_NS16550
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) def_bool MIPS_CPS_NS16550_BASE != 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) config MIPS_CPS_NS16550_BASE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) hex "UART Base Address"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) default 0x1b0003f8 if MIPS_MALTA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) default 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) The base address of the ns16550 compatible UART on which to output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) debug information from the early stages of core startup.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) This is only used if non-zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) config MIPS_CPS_NS16550_SHIFT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) int "UART Register Shift"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) default 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) The number of bits to shift ns16550 register indices by in order to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) form their addresses. That is, log base 2 of the span between
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) adjacent ns16550 registers in the system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) config MIPS_CPS_NS16550_WIDTH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) int "UART Register Width"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) default 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) ns16550 registers width. UART registers IO access methods will be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) selected in accordance with this parameter. By setting it to 1, 2 or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) 4 UART registers will be accessed by means of lb/sb, lh/sh or lw/sw
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) instructions respectively. Any value not from that set activates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) lb/sb instructions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) endif # MIPS_CPS_NS16550_BOOL