17 #include <linux/types.h>
18 #include <linux/sched.h>
19 #include <linux/kernel.h>
20 #include <linux/errno.h>
22 #include <linux/module.h>
26 #include <asm/traps.h>
59 printk(
"\nCURRENT PROCESS:\n\n");
62 printk(
"TEXT=%08x-%08x DATA=%08x-%08x BSS=%08x-%08x\n",
69 printk(
"USER-STACK=%08x KERNEL-STACK=%08lx\n\n",
76 tp = ((
unsigned char *) fp->
pc) - 0x20;
77 for (sp = (
unsigned long *)
tp, i = 0; (i < 0x40); i += 4) {
79 printk(
"\n%08x: ", (
int) (tp +
i));
80 printk(
"%08x ", (
int) *sp++);
85 tp = ((
unsigned char *) fp) - 0x40;
86 for (sp = (
unsigned long *)
tp, i = 0; (i < 0xc0); i += 4) {
88 printk(
"\n%08x: ", (
int) (tp +
i));
89 printk(
"%08x ", (
int) *sp++);
93 printk(
"(Possibly corrupted stack page??)\n");
115 #define check_kernel_text(addr) \
116 ((addr >= (unsigned long)(&_start)) && \
117 (addr < (unsigned long)(&_etext)))
119 static int kstack_depth_to_print = 24;
127 esp = (
unsigned long *) &esp;
131 printk(
"Stack from %08lx:", (
unsigned long)stack);
132 for (i = 0; i < kstack_depth_to_print; i++) {
133 if (((
unsigned long)stack & (
THREAD_SIZE - 1)) == 0)
137 printk(
" %08lx", *stack++);
143 while (((
unsigned long)stack & (
THREAD_SIZE - 1)) != 0) {
156 printk(
" [<%08lx>]", addr);