diff -urN ref/arch/alpha/kernel/traps.c show_stack/arch/alpha/kernel/traps.c --- ref/arch/alpha/kernel/traps.c Sat Apr 28 18:37:44 2001 +++ show_stack/arch/alpha/kernel/traps.c Sun Apr 29 16:50:45 2001 @@ -301,6 +301,32 @@ printk("\n"); } +int kstack_depth_to_print = 24; + +void show_stack(unsigned long *sp) +{ + unsigned long *stack; + int i; + + /* + * debugging aid: "show_stack(NULL);" prints the + * back trace for this cpu. + */ + if(sp==NULL) + sp=(unsigned long*)&sp; + + stack = sp; + for(i=0; i < kstack_depth_to_print; i++) { + if (((long) stack & (THREAD_SIZE-1)) == 0) + break; + if (i && ((i % 4) == 0)) + printk("\n "); + printk("%016lx ", *stack++); + } + printk("\n"); + dik_show_trace(sp); +} + void die_if_kernel(char * str, struct pt_regs *regs, long err, unsigned long *r9_15) {