#include <linux/kernel_stat.h>
#include <linux/irq.h>
#include <linux/delay.h>
+#include <linux/reboot.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/smp.h>
#include <asm/fiq_glue.h>
#include <asm/stacktrace.h>
-#include <mach/system.h>
-
#include <linux/uaccess.h>
#include "fiq_debugger_ringbuf.h"
static void dump_irqs(struct fiq_debugger_state *state)
{
int n;
- unsigned int cpu;
debug_printf(state, "irqnr total since-last status name\n");
for (n = 0; n < NR_IRQS; n++) {
(act && act->name) ? act->name : "???");
state->last_irqs[n] = kstat_irqs(n);
}
-
- for (cpu = 0; cpu < NR_CPUS; cpu++) {
-
- debug_printf(state, "LOC %d: %10u %11u\n", cpu,
- __IRQ_STAT(cpu, local_timer_irqs),
- __IRQ_STAT(cpu, local_timer_irqs) -
- state->last_local_timer_irqs[cpu]);
- state->last_local_timer_irqs[cpu] =
- __IRQ_STAT(cpu, local_timer_irqs);
- }
}
struct stacktrace_state {
} else if (!strcmp(cmd, "bt")) {
dump_stacktrace(state, (struct pt_regs *)regs, 100, svc_sp);
} else if (!strcmp(cmd, "reboot")) {
- arch_reset(0, 0);
+ kernel_restart(NULL);
} else if (!strcmp(cmd, "irqs")) {
dump_irqs(state);
} else if (!strcmp(cmd, "kmsg")) {