11da177e4SLinus Torvaldsmenu "Kernel hacking" 21da177e4SLinus Torvalds 3192ef366SRalf Baechleconfig TRACE_IRQFLAGS_SUPPORT 4192ef366SRalf Baechle bool 5192ef366SRalf Baechle default y 6192ef366SRalf Baechle 71da177e4SLinus Torvaldssource "lib/Kconfig.debug" 81da177e4SLinus Torvalds 94dd92e15SRalf Baechleconfig EARLY_PRINTK 106a108a14SDavid Rientjes bool "Early printk" if EXPERT 114dd92e15SRalf Baechle depends on SYS_HAS_EARLY_PRINTK 124dd92e15SRalf Baechle default y 134dd92e15SRalf Baechle help 144dd92e15SRalf Baechle This option enables special console drivers which allow the kernel 154dd92e15SRalf Baechle to print messages very early in the bootup process. 164dd92e15SRalf Baechle 174dd92e15SRalf Baechle This is useful for kernel debugging when your machine crashes very 184dd92e15SRalf Baechle early before the console code is initialized. For normal operation, 194dd92e15SRalf Baechle it is not recommended because it looks ugly on some machines and 204dd92e15SRalf Baechle doesn't cooperate with an X server. You should normally say N here, 214dd92e15SRalf Baechle unless you want to debug such a crash. 224dd92e15SRalf Baechle 237cd93b89SYoichi Yuasaconfig EARLY_PRINTK_8250 24*e6086557SRalf Baechle bool 25*e6086557SRalf Baechle depends on EARLY_PRINTK && USE_GENERIC_EARLY_PRINTK_8250 26*e6086557SRalf Baechle default y 277cd93b89SYoichi Yuasa help 28*e6086557SRalf Baechle "8250/16550 and compatible serial early printk driver" 297cd93b89SYoichi Yuasa If you say Y here, it will be possible to use a 8250/16550 serial 307cd93b89SYoichi Yuasa port as the boot console. 317cd93b89SYoichi Yuasa 32*e6086557SRalf Baechleconfig USE_GENERIC_EARLY_PRINTK_8250 33*e6086557SRalf Baechle bool 34*e6086557SRalf Baechle 356acc7d48SDmitri Vorobievconfig CMDLINE_BOOL 366acc7d48SDmitri Vorobiev bool "Built-in kernel command line" 376acc7d48SDmitri Vorobiev default n 386acc7d48SDmitri Vorobiev help 396acc7d48SDmitri Vorobiev For most systems, it is firmware or second stage bootloader that 406acc7d48SDmitri Vorobiev by default specifies the kernel command line options. However, 416acc7d48SDmitri Vorobiev it might be necessary or advantageous to either override the 426acc7d48SDmitri Vorobiev default kernel command line or add a few extra options to it. 436acc7d48SDmitri Vorobiev For such cases, this option allows you to hardcode your own 446acc7d48SDmitri Vorobiev command line options directly into the kernel. For that, you 456acc7d48SDmitri Vorobiev should choose 'Y' here, and fill in the extra boot arguments 466acc7d48SDmitri Vorobiev in CONFIG_CMDLINE. 476acc7d48SDmitri Vorobiev 486acc7d48SDmitri Vorobiev The built-in options will be concatenated to the default command 496acc7d48SDmitri Vorobiev line if CMDLINE_OVERRIDE is set to 'N'. Otherwise, the default 506acc7d48SDmitri Vorobiev command line will be ignored and replaced by the built-in string. 516acc7d48SDmitri Vorobiev 526acc7d48SDmitri Vorobiev Most MIPS systems will normally expect 'N' here and rely upon 536acc7d48SDmitri Vorobiev the command line from the firmware or the second-stage bootloader. 546acc7d48SDmitri Vorobiev 551da177e4SLinus Torvaldsconfig CMDLINE 561da177e4SLinus Torvalds string "Default kernel command string" 576acc7d48SDmitri Vorobiev depends on CMDLINE_BOOL 581da177e4SLinus Torvalds default "" 591da177e4SLinus Torvalds help 601da177e4SLinus Torvalds On some platforms, there is currently no way for the boot loader to 616acc7d48SDmitri Vorobiev pass arguments to the kernel. For these platforms, and for the cases 626acc7d48SDmitri Vorobiev when you want to add some extra options to the command line or ignore 636acc7d48SDmitri Vorobiev the default command line, you can supply some command-line options at 646acc7d48SDmitri Vorobiev build time by entering them here. In other cases you can specify 656acc7d48SDmitri Vorobiev kernel args so that you don't have to set them up in board prom 666acc7d48SDmitri Vorobiev initialization routines. 676acc7d48SDmitri Vorobiev 686acc7d48SDmitri Vorobiev For more information, see the CMDLINE_BOOL and CMDLINE_OVERRIDE 696acc7d48SDmitri Vorobiev options. 706acc7d48SDmitri Vorobiev 716acc7d48SDmitri Vorobievconfig CMDLINE_OVERRIDE 726b2aac42SMasanari Iida bool "Built-in command line overrides firmware arguments" 736acc7d48SDmitri Vorobiev default n 746acc7d48SDmitri Vorobiev depends on CMDLINE_BOOL 756acc7d48SDmitri Vorobiev help 766acc7d48SDmitri Vorobiev By setting this option to 'Y' you will have your kernel ignore 776acc7d48SDmitri Vorobiev command line arguments from firmware or second stage bootloader. 786acc7d48SDmitri Vorobiev Instead, the built-in command line will be used exclusively. 796acc7d48SDmitri Vorobiev 806acc7d48SDmitri Vorobiev Normally, you will choose 'N' here. 811da177e4SLinus Torvalds 829349075aSRalf Baechleconfig SMTC_IDLE_HOOK_DEBUG 83c68644d3SRalf Baechle bool "Enable additional debug checks before going into CPU idle loop" 84c68644d3SRalf Baechle depends on DEBUG_KERNEL && MIPS_MT_SMTC 85c68644d3SRalf Baechle help 86c68644d3SRalf Baechle This option enables Enable additional debug checks before going into 87c68644d3SRalf Baechle CPU idle loop. For details on these checks, see 88c68644d3SRalf Baechle arch/mips/kernel/smtc.c. This debugging option result in significant 89c68644d3SRalf Baechle overhead so should be disabled in production kernels. 90c68644d3SRalf Baechle 911da177e4SLinus Torvaldsconfig SB1XXX_CORELIS 921da177e4SLinus Torvalds bool "Corelis Debugger" 931da177e4SLinus Torvalds depends on SIBYTE_SB1xxx_SOC 941da177e4SLinus Torvalds select DEBUG_INFO 951da177e4SLinus Torvalds help 961da177e4SLinus Torvalds Select compile flags that produce code that can be processed by the 971da177e4SLinus Torvalds Corelis mksym utility and UDB Emulator. 981da177e4SLinus Torvalds 991da177e4SLinus Torvaldsconfig RUNTIME_DEBUG 1001da177e4SLinus Torvalds bool "Enable run-time debugging" 1011da177e4SLinus Torvalds depends on DEBUG_KERNEL 1021da177e4SLinus Torvalds help 1031da177e4SLinus Torvalds If you say Y here, some debugging macros will do run-time checking. 1041da177e4SLinus Torvalds If you say N here, those macros will mostly turn to no-ops. See 10500ace207SDmitri Vorobiev arch/mips/include/asm/debug.h for debugging macros. 1061da177e4SLinus Torvalds If unsure, say N. 1071da177e4SLinus Torvalds 108f86a69b1SWu Zhangjinconfig DEBUG_ZBOOT 109f86a69b1SWu Zhangjin bool "Enable compressed kernel support debugging" 110f86a69b1SWu Zhangjin depends on DEBUG_KERNEL && SYS_SUPPORTS_ZBOOT 111f86a69b1SWu Zhangjin default n 112f86a69b1SWu Zhangjin help 113f86a69b1SWu Zhangjin If you want to add compressed kernel support to a new board, and the 114f86a69b1SWu Zhangjin board supports uart16550 compatible serial port, please select 115f86a69b1SWu Zhangjin SYS_SUPPORTS_ZBOOT_UART16550 for your board and enable this option to 116f86a69b1SWu Zhangjin debug it. 117f86a69b1SWu Zhangjin 118f86a69b1SWu Zhangjin If your board doesn't support uart16550 compatible serial port, you 119f86a69b1SWu Zhangjin can try to select SYS_SUPPORTS_ZBOOT and use the other methods to 120f86a69b1SWu Zhangjin debug it. for example, add a new serial port support just as 121f86a69b1SWu Zhangjin arch/mips/boot/compressed/uart-16550.c does. 122f86a69b1SWu Zhangjin 123f86a69b1SWu Zhangjin After the compressed kernel support works, please disable this option 124f86a69b1SWu Zhangjin to reduce the kernel image size and speed up the booting procedure a 125f86a69b1SWu Zhangjin little. 126f86a69b1SWu Zhangjin 127bba90760SDavid Daneyconfig SPINLOCK_TEST 128bba90760SDavid Daney bool "Enable spinlock timing tests in debugfs" 129bba90760SDavid Daney depends on DEBUG_FS 130bba90760SDavid Daney default n 131bba90760SDavid Daney help 132bba90760SDavid Daney Add several files to the debugfs to test spinlock speed. 133bba90760SDavid Daney 1341da177e4SLinus Torvaldsendmenu 135