mirror of
https://github.com/torvalds/linux.git
synced 2024-12-07 11:31:41 +00:00
e0426047cb
While adding spu disassembly support it struck me that we're actually carrying quite a lot of code around, just to do disassembly in the case of a crash. While on large systems it's not an issue, on smaller ones it might be nice to have xmon - but without the weight of the disassembly support. For a Cell build this saves ~230KB (!), and for pSeries ~195KB. We still support the 'di' and 'sdi' commands, however they just dump the instruction in hex. Move the definitions into a header to clean xmon.c just a tiny bit. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
191 lines
5.3 KiB
Plaintext
191 lines
5.3 KiB
Plaintext
menu "Kernel hacking"
|
|
|
|
source "lib/Kconfig.debug"
|
|
|
|
config DEBUG_STACKOVERFLOW
|
|
bool "Check for stack overflows"
|
|
depends on DEBUG_KERNEL && PPC64
|
|
help
|
|
This option will cause messages to be printed if free stack space
|
|
drops below a certain limit.
|
|
|
|
config DEBUG_STACK_USAGE
|
|
bool "Stack utilization instrumentation"
|
|
depends on DEBUG_KERNEL && PPC64
|
|
help
|
|
Enables the display of the minimum amount of free stack which each
|
|
task has ever had available in the sysrq-T and sysrq-P debug output.
|
|
|
|
This option will slow down process creation somewhat.
|
|
|
|
config HCALL_STATS
|
|
bool "Hypervisor call instrumentation"
|
|
depends on PPC_PSERIES && DEBUG_FS
|
|
help
|
|
Adds code to keep track of the number of hypervisor calls made and
|
|
the amount of time spent in hypervisor callsr. Wall time spent in
|
|
each call is always calculated, and if available CPU cycles spent
|
|
are also calculated. A directory named hcall_inst is added at the
|
|
root of the debugfs filesystem. Within the hcall_inst directory
|
|
are files that contain CPU specific call statistics.
|
|
|
|
This option will add a small amount of overhead to all hypervisor
|
|
calls.
|
|
|
|
config DEBUGGER
|
|
bool "Enable debugger hooks"
|
|
depends on DEBUG_KERNEL
|
|
help
|
|
Include in-kernel hooks for kernel debuggers. Unless you are
|
|
intending to debug the kernel, say N here.
|
|
|
|
config KGDB
|
|
bool "Include kgdb kernel debugger"
|
|
depends on DEBUGGER && (BROKEN || PPC_GEN550 || 4xx)
|
|
select DEBUG_INFO
|
|
help
|
|
Include in-kernel hooks for kgdb, the Linux kernel source level
|
|
debugger. See <http://kgdb.sourceforge.net/> for more information.
|
|
Unless you are intending to debug the kernel, say N here.
|
|
|
|
choice
|
|
prompt "Serial Port"
|
|
depends on KGDB
|
|
default KGDB_TTYS1
|
|
|
|
config KGDB_TTYS0
|
|
bool "ttyS0"
|
|
|
|
config KGDB_TTYS1
|
|
bool "ttyS1"
|
|
|
|
config KGDB_TTYS2
|
|
bool "ttyS2"
|
|
|
|
config KGDB_TTYS3
|
|
bool "ttyS3"
|
|
|
|
endchoice
|
|
|
|
config KGDB_CONSOLE
|
|
bool "Enable serial console thru kgdb port"
|
|
depends on KGDB && 8xx || CPM2
|
|
help
|
|
If you enable this, all serial console messages will be sent
|
|
over the gdb stub.
|
|
If unsure, say N.
|
|
|
|
config XMON
|
|
bool "Include xmon kernel debugger"
|
|
depends on DEBUGGER && !PPC_ISERIES
|
|
help
|
|
Include in-kernel hooks for the xmon kernel monitor/debugger.
|
|
Unless you are intending to debug the kernel, say N here.
|
|
Make sure to enable also CONFIG_BOOTX_TEXT on Macs. Otherwise
|
|
nothing will appear on the screen (xmon writes directly to the
|
|
framebuffer memory).
|
|
The cmdline option 'xmon' or 'xmon=early' will drop into xmon
|
|
very early during boot. 'xmon=on' will just enable the xmon
|
|
debugger hooks. 'xmon=off' will disable the debugger hooks
|
|
if CONFIG_XMON_DEFAULT is set.
|
|
xmon will print a backtrace on the very first invocation.
|
|
'xmon=nobt' will disable this autobacktrace.
|
|
|
|
config XMON_DEFAULT
|
|
bool "Enable xmon by default"
|
|
depends on XMON
|
|
help
|
|
xmon is normally disabled unless booted with 'xmon=on'.
|
|
Use 'xmon=off' to disable xmon init during runtime.
|
|
|
|
config XMON_DISASSEMBLY
|
|
bool "Include disassembly support in xmon"
|
|
depends on XMON
|
|
default y
|
|
help
|
|
Include support for disassembling in xmon. You probably want
|
|
to say Y here, unless you're building for a memory-constrained
|
|
system.
|
|
|
|
config IRQSTACKS
|
|
bool "Use separate kernel stacks when processing interrupts"
|
|
depends on PPC64
|
|
help
|
|
If you say Y here the kernel will use separate kernel stacks
|
|
for handling hard and soft interrupts. This can help avoid
|
|
overflowing the process kernel stacks.
|
|
|
|
config BDI_SWITCH
|
|
bool "Include BDI-2000 user context switcher"
|
|
depends on DEBUG_KERNEL && PPC32
|
|
help
|
|
Include in-kernel support for the Abatron BDI2000 debugger.
|
|
Unless you are intending to debug the kernel with one of these
|
|
machines, say N here.
|
|
|
|
config BOOTX_TEXT
|
|
bool "Support for early boot text console (BootX or OpenFirmware only)"
|
|
depends PPC_OF && !PPC_ISERIES
|
|
help
|
|
Say Y here to see progress messages from the boot firmware in text
|
|
mode. Requires either BootX or Open Firmware.
|
|
|
|
config SERIAL_TEXT_DEBUG
|
|
bool "Support for early boot texts over serial port"
|
|
depends on 4xx || LOPEC || MV64X60 || PPLUS || PRPMC800 || \
|
|
PPC_GEN550 || PPC_MPC52xx
|
|
|
|
config PPC_EARLY_DEBUG
|
|
bool "Early debugging (dangerous)"
|
|
|
|
choice
|
|
prompt "Early debugging console"
|
|
depends on PPC_EARLY_DEBUG
|
|
help
|
|
Use the selected console for early debugging. Careful, if you
|
|
enable debugging for the wrong type of machine your kernel
|
|
_will not boot_.
|
|
|
|
config PPC_EARLY_DEBUG_LPAR
|
|
bool "LPAR HV Console"
|
|
depends on PPC_PSERIES
|
|
help
|
|
Select this to enable early debugging for a machine with a HVC
|
|
console on vterm 0.
|
|
|
|
config PPC_EARLY_DEBUG_G5
|
|
bool "Apple G5"
|
|
depends on PPC_PMAC64
|
|
help
|
|
Select this to enable early debugging for Apple G5 machines.
|
|
|
|
config PPC_EARLY_DEBUG_RTAS_PANEL
|
|
bool "RTAS Panel"
|
|
depends on PPC_RTAS
|
|
help
|
|
Select this to enable early debugging via the RTAS panel.
|
|
|
|
config PPC_EARLY_DEBUG_RTAS_CONSOLE
|
|
bool "RTAS Console"
|
|
depends on PPC_RTAS
|
|
select UDBG_RTAS_CONSOLE
|
|
help
|
|
Select this to enable early debugging via the RTAS console.
|
|
|
|
config PPC_EARLY_DEBUG_MAPLE
|
|
bool "Maple real mode"
|
|
depends on PPC_MAPLE
|
|
help
|
|
Select this to enable early debugging for Maple.
|
|
|
|
config PPC_EARLY_DEBUG_ISERIES
|
|
bool "iSeries HV Console"
|
|
depends on PPC_ISERIES
|
|
help
|
|
Select this to enable early debugging for legacy iSeries. You need
|
|
to hit "Ctrl-x Ctrl-x" to see the messages on the console.
|
|
|
|
endchoice
|
|
|
|
endmenu
|