|
@@ -1281,21 +1281,19 @@ static void get_function_bounds(unsigned long pc, unsigned long *startp,
|
|
|
catch_memory_errors = 0;
|
|
|
}
|
|
|
|
|
|
-static int xmon_depth_to_print = 64;
|
|
|
-
|
|
|
#define LRSAVE_OFFSET (STACK_FRAME_LR_SAVE * sizeof(unsigned long))
|
|
|
#define MARKER_OFFSET (STACK_FRAME_MARKER * sizeof(unsigned long))
|
|
|
|
|
|
static void xmon_show_stack(unsigned long sp, unsigned long lr,
|
|
|
unsigned long pc)
|
|
|
{
|
|
|
+ int max_to_print = 64;
|
|
|
unsigned long ip;
|
|
|
unsigned long newsp;
|
|
|
unsigned long marker;
|
|
|
- int count = 0;
|
|
|
struct pt_regs regs;
|
|
|
|
|
|
- do {
|
|
|
+ while (max_to_print--) {
|
|
|
if (sp < PAGE_OFFSET) {
|
|
|
if (sp != 0)
|
|
|
printf("SP (%lx) is in userspace\n", sp);
|
|
@@ -1366,7 +1364,7 @@ static void xmon_show_stack(unsigned long sp, unsigned long lr,
|
|
|
break;
|
|
|
|
|
|
sp = newsp;
|
|
|
- } while (count++ < xmon_depth_to_print);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static void backtrace(struct pt_regs *excp)
|