diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2010-11-16 15:40:13 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2011-06-14 09:09:39 -0700 |
commit | 5eed1dbca45b0113b4a33a99c18fce86995ba55a (patch) | |
tree | 85c0642ed63c7c1769e2f78b8fc438e136c41e10 /arch/arm/common | |
parent | e64be6fb7ce20ff8ae722200a28f220619af6589 (diff) | |
download | kernel_samsung_crespo-5eed1dbca45b0113b4a33a99c18fce86995ba55a.zip kernel_samsung_crespo-5eed1dbca45b0113b4a33a99c18fce86995ba55a.tar.gz kernel_samsung_crespo-5eed1dbca45b0113b4a33a99c18fce86995ba55a.tar.bz2 |
ARM: fiq_debugger: Add help command
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'arch/arm/common')
-rw-r--r-- | arch/arm/common/fiq_debugger.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/arch/arm/common/fiq_debugger.c b/arch/arm/common/fiq_debugger.c index a97c9b2..f172c15 100644 --- a/arch/arm/common/fiq_debugger.c +++ b/arch/arm/common/fiq_debugger.c @@ -447,10 +447,35 @@ void dump_stacktrace(struct fiq_debugger_state *state, tail = user_backtrace(state, tail); } +static void debug_help(struct fiq_debugger_state *state) +{ + debug_printf(state, "FIQ Debugger commands:\n" + " pc PC status\n" + " regs Register dump\n" + " allregs Extended Register dump\n" + " bt Stack trace\n" + " reboot Reboot\n" + " irqs Interupt status\n" + " kmsg Kernel log\n" + " version Kernel version\n"); + debug_printf(state, " sleep Allow sleep while in FIQ\n" + " nosleep Disable sleep while in FIQ\n" + " console Switch terminal to console\n" + " cpu Current CPU\n" + " cpu <number> Switch to CPU<number>\n"); + if (!state->debug_busy) { + strcpy(state->debug_cmd, "help"); + state->debug_busy = 1; + debug_force_irq(state); + } +} + static void debug_exec(struct fiq_debugger_state *state, const char *cmd, unsigned *regs, void *svc_sp) { - if (!strcmp(cmd, "pc")) { + if (!strcmp(cmd, "help") || !strcmp(cmd, "?")) { + debug_help(state); + } else if (!strcmp(cmd, "pc")) { debug_printf(state, " pc %08x cpsr %08x mode %s\n", regs[15], regs[16], mode_name(regs[16])); } else if (!strcmp(cmd, "regs")) { |