Loading arch/arm/common/fiq_debugger.c +10 −30 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <linux/clk.h> #include <linux/platform_device.h> #include <linux/kernel_stat.h> #include <linux/kmsg_dump.h> #include <linux/irq.h> #include <linux/delay.h> #include <linux/reboot.h> Loading Loading @@ -207,29 +208,19 @@ static void debug_prompt(struct fiq_debugger_state *state) debug_puts(state, "debug> "); } int log_buf_copy(char *dest, int idx, int len); static void dump_kernel_log(struct fiq_debugger_state *state) { char buf[1024]; int idx = 0; int ret; int saved_oip; char buf[512]; size_t len; struct kmsg_dumper dumper = { .active = true }; /* setting oops_in_progress prevents log_buf_copy() * from trying to take a spinlock which will make it * very unhappy in some cases... */ saved_oip = oops_in_progress; oops_in_progress = 1; for (;;) { ret = log_buf_copy(buf, idx, 1023); if (ret <= 0) break; buf[ret] = 0; kmsg_dump_rewind_nolock(&dumper); while (kmsg_dump_get_line_nolock(&dumper, true, buf, sizeof(buf) - 1, &len)) { buf[len] = 0; debug_puts(state, buf); idx += ret; } oops_in_progress = saved_oip; } static char *mode_name(unsigned cpsr) Loading Loading @@ -523,18 +514,7 @@ static void begin_syslog_dump(struct fiq_debugger_state *state) static void end_syslog_dump(struct fiq_debugger_state *state) { char buf[128]; int ret; int idx = 0; while (1) { ret = log_buf_copy(buf, idx, sizeof(buf) - 1); if (ret <= 0) break; buf[ret] = 0; debug_printf(state, "%s", buf); idx += ret; } dump_kernel_log(state); } #endif Loading Loading
arch/arm/common/fiq_debugger.c +10 −30 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <linux/clk.h> #include <linux/platform_device.h> #include <linux/kernel_stat.h> #include <linux/kmsg_dump.h> #include <linux/irq.h> #include <linux/delay.h> #include <linux/reboot.h> Loading Loading @@ -207,29 +208,19 @@ static void debug_prompt(struct fiq_debugger_state *state) debug_puts(state, "debug> "); } int log_buf_copy(char *dest, int idx, int len); static void dump_kernel_log(struct fiq_debugger_state *state) { char buf[1024]; int idx = 0; int ret; int saved_oip; char buf[512]; size_t len; struct kmsg_dumper dumper = { .active = true }; /* setting oops_in_progress prevents log_buf_copy() * from trying to take a spinlock which will make it * very unhappy in some cases... */ saved_oip = oops_in_progress; oops_in_progress = 1; for (;;) { ret = log_buf_copy(buf, idx, 1023); if (ret <= 0) break; buf[ret] = 0; kmsg_dump_rewind_nolock(&dumper); while (kmsg_dump_get_line_nolock(&dumper, true, buf, sizeof(buf) - 1, &len)) { buf[len] = 0; debug_puts(state, buf); idx += ret; } oops_in_progress = saved_oip; } static char *mode_name(unsigned cpsr) Loading Loading @@ -523,18 +514,7 @@ static void begin_syslog_dump(struct fiq_debugger_state *state) static void end_syslog_dump(struct fiq_debugger_state *state) { char buf[128]; int ret; int idx = 0; while (1) { ret = log_buf_copy(buf, idx, sizeof(buf) - 1); if (ret <= 0) break; buf[ret] = 0; debug_printf(state, "%s", buf); idx += ret; } dump_kernel_log(state); } #endif Loading