1menu "Kernel hacking" 2 3config TRACE_IRQFLAGS_SUPPORT 4 bool 5 default y 6 7source "lib/Kconfig.debug" 8 9config EARLY_PRINTK 10 bool "Early printk" if EXPERT 11 depends on SYS_HAS_EARLY_PRINTK 12 default y 13 help 14 This option enables special console drivers which allow the kernel 15 to print messages very early in the bootup process. 16 17 This is useful for kernel debugging when your machine crashes very 18 early before the console code is initialized. For normal operation, 19 it is not recommended because it looks ugly on some machines and 20 doesn't cooperate with an X server. You should normally say N here, 21 unless you want to debug such a crash. 22 23config EARLY_PRINTK_8250 24 bool 25 depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250 26 default y 27 help 28 "8250/16550 and compatible serial early printk driver" 29 If you say Y here, it will be possible to use a 8250/16550 serial 30 port as the boot console. 31 32config USE_GENERIC_EARLY_PRINTK_8250 33 bool 34 35config CMDLINE_BOOL 36 bool "Built-in kernel command line" 37 default n 38 help 39 For most systems, it is firmware or second stage bootloader that 40 by default specifies the kernel command line options. However, 41 it might be necessary or advantageous to either override the 42 default kernel command line or add a few extra options to it. 43 For such cases, this option allows you to hardcode your own 44 command line options directly into the kernel. For that, you 45 should choose 'Y' here, and fill in the extra boot arguments 46 in CONFIG_CMDLINE. 47 48 The built-in options will be concatenated to the default command 49 line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default 50 command line will be ignored and replaced by the built-in string. 51 52 Most MIPS systems will normally expect 'N' here and rely upon 53 the command line from the firmware or the second-stage bootloader. 54 55config CMDLINE 56 string "Default kernel command string" 57 depends on CMDLINE_BOOL 58 default "" 59 help 60 On some platforms, there is currently no way for the boot loader to 61 pass arguments to the kernel. For these platforms, and for the cases 62 when you want to add some extra options to the command line or ignore 63 the default command line, you can supply some command-line options at 64 build time by entering them here. In other cases you can specify 65 kernel args so that you don't have to set them up in board prom 66 initialization routines. 67 68 For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE 69 options. 70 71config CMDLINE_OVERRIDE 72 bool "Built-in command line overrides firmware arguments" 73 default n 74 depends on CMDLINE_BOOL 75 help 76 By setting this option to 'Y' you will have your kernel ignore 77 command line arguments from firmware or second stage bootloader. 78 Instead, the built-in command line will be used exclusively. 79 80 Normally, you will choose 'N' here. 81 82config SB1XXX_CORELIS 83 bool "Corelis Debugger" 84 depends on SIBYTE_SB1xxx_SOC 85 select DEBUG_INFO 86 help 87 Select compile flags that produce code that can be processed by the 88 Corelis mksym utility and UDB Emulator. 89 90config DEBUG_ZBOOT 91 bool "Enable compressed kernel support debugging" 92 depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT 93 default n 94 help 95 If you want to add compressed kernel support to a new board, and the 96 board supports uart16550 compatible serial port, please select 97 SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to 98 debug it. 99 100 If your board doesn't support uart16550 compatible serial port, you 101 can try to select SYS_SUPPORTS_ZBOOT and use the other methods to 102 debug it. for example, add a new serial port support just as 103 arch/mips/boot/compressed/uart-16550.c does. 104 105 After the compressed kernel support works, please disable this option 106 to reduce the kernel image size and speed up the booting procedure a 107 little. 108 109config SPINLOCK_TEST 110 bool "Enable spinlock timing tests in debugfs" 111 depends on DEBUG_FS 112 default n 113 help 114 Add several files to the debugfs to test spinlock speed. 115 116if CPU_MIPSR6 117 118choice 119 prompt "Compact branch policy" 120 default MIPS_COMPACT_BRANCHES_OPTIMAL 121 122config MIPS_COMPACT_BRANCHES_NEVER 123 bool "Never (force delay slot branches)" 124 help 125 Pass the -mcompact-branches=never flag to the compiler in order to 126 force it to always emit branches with delay slots, and make no use 127 of the compact branch instructions introduced by MIPSr6. This is 128 useful if you suspect there may be an issue with compact branches in 129 either the compiler or the CPU. 130 131config MIPS_COMPACT_BRANCHES_OPTIMAL 132 bool "Optimal (use where beneficial)" 133 help 134 Pass the -mcompact-branches=optimal flag to the compiler in order for 135 it to make use of compact branch instructions where it deems them 136 beneficial, and use branches with delay slots elsewhere. This is the 137 default compiler behaviour, and should be used unless you have a 138 reason to choose otherwise. 139 140config MIPS_COMPACT_BRANCHES_ALWAYS 141 bool "Always (force compact branches)" 142 help 143 Pass the -mcompact-branches=always flag to the compiler in order to 144 force it to always emit compact branches, making no use of branch 145 instructions with delay slots. This can result in more compact code 146 which may be beneficial in some scenarios. 147 148endchoice 149 150endif # CPU_MIPSR6 151 152config SCACHE_DEBUGFS 153 bool "L2 cache debugfs entries" 154 depends on DEBUG_FS 155 help 156 Enable this to allow parts of the L2 cache configuration, such as 157 whether or not prefetching is enabled, to be exposed to userland 158 via debugfs. 159 160 If unsure, say N. 161 162menuconfig MIPS_CPS_NS16550 163 bool "CPS SMP NS16550 UART output" 164 depends on MIPS_CPS 165 help 166 Output debug information via an ns16550 compatible UART if exceptions 167 occur early in the boot process of a secondary core. 168 169if MIPS_CPS_NS16550 170 171config MIPS_CPS_NS16550_BASE 172 hex "UART Base Address" 173 default 0x1b0003f8 if MIPS_MALTA 174 help 175 The base address of the ns16550 compatible UART on which to output 176 debug information from the early stages of core startup. 177 178config MIPS_CPS_NS16550_SHIFT 179 int "UART Register Shift" 180 default 0 if MIPS_MALTA 181 help 182 The number of bits to shift ns16550 register indices by in order to 183 form their addresses. That is, log base 2 of the span between 184 adjacent ns16550 registers in the system. 185 186endif # MIPS_CPS_NS16550 187 188endmenu 189