mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
![Michael Ellerman](/assets/img/avatar_default.png)
This patch adds Kconfig entries to control the early debugging options, currently in setup_64.c. Doing this via Kconfig rather than #defines means you can have one source tree, which is buildable for multiple platforms - and you can enable the correct early debug option for each platform via .config. I made udbg_early_init() a static inline because otherwise GCC is to daft to optimise it away when debugging is off. Now that we have udbg_init_rtas() we can make call_rtas_display_status* static. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
160 lines
4.2 KiB
Text
160 lines
4.2 KiB
Text
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 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.
|
|
|
|
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 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_OCP
|
|
bool
|
|
depends on IBM_OCP || XILINX_OCP
|
|
default y
|
|
|
|
choice
|
|
prompt "Early debugging (dangerous)"
|
|
bool
|
|
optional
|
|
help
|
|
Enable 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
|
|
bool "RTAS Panel"
|
|
depends on PPC_RTAS
|
|
help
|
|
Select this to enable early debugging via the RTAS panel.
|
|
|
|
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
|