Merge branch 'drm-forlinus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
[pandora-kernel.git] / arch / ppc / xmon / xmon.c
index be7869e..9075a75 100644 (file)
@@ -99,7 +99,7 @@ static void remove_bpts(void);
 static void insert_bpts(void);
 static struct bpt *at_breakpoint(unsigned pc);
 static void bpt_cmds(void);
-static void cacheflush(void);
+void cacheflush(void);
 #ifdef CONFIG_SMP
 static void cpu_cmd(void);
 #endif /* CONFIG_SMP */
@@ -148,9 +148,14 @@ Commands:\n\
   r    print registers\n\
   S    print special registers\n\
   t    print backtrace\n\
-  la   lookup address in system.map\n\
-  ls   lookup symbol in system.map\n\
+  la   lookup address\n\
+  ls   lookup symbol\n\
+  C    checksum\n\
+  p    call function with arguments\n\
+  T    print time\n\
   x    exit monitor\n\
+  zr    reboot\n\
+  zh    halt\n\
 ";
 
 static int xmon_trace[NR_CPUS];
@@ -215,8 +220,7 @@ static void get_tb(unsigned *p)
        p[1] = lo;
 }
 
-void
-xmon(struct pt_regs *excp)
+int xmon(struct pt_regs *excp)
 {
        struct pt_regs regs;
        int msr, cmd;
@@ -285,6 +289,8 @@ xmon(struct pt_regs *excp)
 #endif /* CONFIG_SMP */
        set_msr(msr);           /* restore interrupt enable */
        get_tb(start_tb[smp_processor_id()]);
+
+       return cmd != 'X';
 }
 
 irqreturn_t