1menu "Kernel hacking" 2 3source "lib/Kconfig.debug" 4 5config DEBUG_STACKOVERFLOW 6 bool "Check for stack overflows" 7 depends on DEBUG_KERNEL && PPC64 8 help 9 This option will cause messages to be printed if free stack space 10 drops below a certain limit. 11 12config DEBUG_STACK_USAGE 13 bool "Stack utilization instrumentation" 14 depends on DEBUG_KERNEL && PPC64 15 help 16 Enables the display of the minimum amount of free stack which each 17 task has ever had available in the sysrq-T and sysrq-P debug output. 18 19 This option will slow down process creation somewhat. 20 21config HCALL_STATS 22 bool "Hypervisor call instrumentation" 23 depends on PPC_PSERIES && DEBUG_FS 24 help 25 Adds code to keep track of the number of hypervisor calls made and 26 the amount of time spent in hypervisor callsr. Wall time spent in 27 each call is always calculated, and if available CPU cycles spent 28 are also calculated. A directory named hcall_inst is added at the 29 root of the debugfs filesystem. Within the hcall_inst directory 30 are files that contain CPU specific call statistics. 31 32 This option will add a small amount of overhead to all hypervisor 33 calls. 34 35config DEBUGGER 36 bool "Enable debugger hooks" 37 depends on DEBUG_KERNEL 38 help 39 Include in-kernel hooks for kernel debuggers. Unless you are 40 intending to debug the kernel, say N here. 41 42config KGDB 43 bool "Include kgdb kernel debugger" 44 depends on DEBUGGER && (BROKEN || PPC_GEN550 || 4xx) 45 select DEBUG_INFO 46 help 47 Include in-kernel hooks for kgdb, the Linux kernel source level 48 debugger. See <http://kgdb.sourceforge.net/> for more information. 49 Unless you are intending to debug the kernel, say N here. 50 51choice 52 prompt "Serial Port" 53 depends on KGDB 54 default KGDB_TTYS1 55 56config KGDB_TTYS0 57 bool "ttyS0" 58 59config KGDB_TTYS1 60 bool "ttyS1" 61 62config KGDB_TTYS2 63 bool "ttyS2" 64 65config KGDB_TTYS3 66 bool "ttyS3" 67 68endchoice 69 70config KGDB_CONSOLE 71 bool "Enable serial console thru kgdb port" 72 depends on KGDB && 8xx || CPM2 73 help 74 If you enable this, all serial console messages will be sent 75 over the gdb stub. 76 If unsure, say N. 77 78config XMON 79 bool "Include xmon kernel debugger" 80 depends on DEBUGGER && !PPC_ISERIES 81 help 82 Include in-kernel hooks for the xmon kernel monitor/debugger. 83 Unless you are intending to debug the kernel, say N here. 84 Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise 85 nothing will appear on the screen (xmon writes directly to the 86 framebuffer memory). 87 The cmdline option 'xmon' or 'xmon=early' will drop into xmon 88 very early during boot. 'xmon=on' will just enable the xmon 89 debugger hooks. 'xmon=off' will disable the debugger hooks 90 if CONFIG_XMON_DEFAULT is set. 91 xmon will print a backtrace on the very first invocation. 92 'xmon=nobt' will disable this autobacktrace. 93 94config XMON_DEFAULT 95 bool "Enable xmon by default" 96 depends on XMON 97 help 98 xmon is normally disabled unless booted with 'xmon=on'. 99 Use 'xmon=off' to disable xmon init during runtime. 100 101config IRQSTACKS 102 bool "Use separate kernel stacks when processing interrupts" 103 depends on PPC64 104 help 105 If you say Y here the kernel will use separate kernel stacks 106 for handling hard and soft interrupts. This can help avoid 107 overflowing the process kernel stacks. 108 109config BDI_SWITCH 110 bool "Include BDI-2000 user context switcher" 111 depends on DEBUG_KERNEL && PPC32 112 help 113 Include in-kernel support for the Abatron BDI2000 debugger. 114 Unless you are intending to debug the kernel with one of these 115 machines, say N here. 116 117config BOOTX_TEXT 118 bool "Support for early boot text console (BootX or OpenFirmware only)" 119 depends PPC_OF && !PPC_ISERIES 120 help 121 Say Y here to see progress messages from the boot firmware in text 122 mode. Requires either BootX or Open Firmware. 123 124config SERIAL_TEXT_DEBUG 125 bool "Support for early boot texts over serial port" 126 depends on 4xx || LOPEC || MV64X60 || PPLUS || PRPMC800 || \ 127 PPC_GEN550 || PPC_MPC52xx 128 129config PPC_EARLY_DEBUG 130 bool "Early debugging (dangerous)" 131 132choice 133 prompt "Early debugging console" 134 depends on PPC_EARLY_DEBUG 135 help 136 Use the selected console for early debugging. Careful, if you 137 enable debugging for the wrong type of machine your kernel 138 _will not boot_. 139 140config PPC_EARLY_DEBUG_LPAR 141 bool "LPAR HV Console" 142 depends on PPC_PSERIES 143 help 144 Select this to enable early debugging for a machine with a HVC 145 console on vterm 0. 146 147config PPC_EARLY_DEBUG_G5 148 bool "Apple G5" 149 depends on PPC_PMAC64 150 help 151 Select this to enable early debugging for Apple G5 machines. 152 153config PPC_EARLY_DEBUG_RTAS_PANEL 154 bool "RTAS Panel" 155 depends on PPC_RTAS 156 help 157 Select this to enable early debugging via the RTAS panel. 158 159config PPC_EARLY_DEBUG_RTAS_CONSOLE 160 bool "RTAS Console" 161 depends on PPC_RTAS 162 select UDBG_RTAS_CONSOLE 163 help 164 Select this to enable early debugging via the RTAS console. 165 166config PPC_EARLY_DEBUG_MAPLE 167 bool "Maple real mode" 168 depends on PPC_MAPLE 169 help 170 Select this to enable early debugging for Maple. 171 172config PPC_EARLY_DEBUG_ISERIES 173 bool "iSeries HV Console" 174 depends on PPC_ISERIES 175 help 176 Select this to enable early debugging for legacy iSeries. You need 177 to hit "Ctrl-x Ctrl-x" to see the messages on the console. 178 179endchoice 180 181endmenu 182