|  | 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 | 
|  | 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. | 
|  |  | 
|  | 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 | 
|  |  | 
|  | 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 "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 | 
|  |  | 
|  | endmenu |