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