patch-2.1.125 linux/fs/proc/array.c
Next file: linux/fs/super.c
Previous file: linux/fs/ncpfs/ncplib_kernel.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Mon Oct 5 10:04:35 1998
- Orig file:
v2.1.124/linux/fs/proc/array.c
- Orig date:
Thu Sep 17 17:53:38 1998
diff -u --recursive --new-file v2.1.124/linux/fs/proc/array.c linux/fs/proc/array.c
@@ -563,6 +563,29 @@
fp = *(unsigned long *) (fp - 12);
} while (count ++ < 16);
}
+#elif defined (__sparc__)
+ {
+ unsigned long pc, fp, bias = 0;
+ unsigned long task_base = (unsigned long) p;
+ struct reg_window *rw;
+ int count = 0;
+
+#ifdef __sparc_v9__
+ bias = STACK_BIAS;
+#endif
+ fp = p->tss.ksp + bias;
+ do {
+ /* Bogus frame pointer? */
+ if (fp < (task_base + sizeof(struct task_struct)) ||
+ fp >= (task_base + (2 * PAGE_SIZE)))
+ break;
+ rw = (struct reg_window *) fp;
+ pc = rw->ins[7];
+ if (pc < first_sched || pc >= last_sched)
+ return pc;
+ fp = rw->ins[6] + bias;
+ } while (++count < 16);
+ }
#endif
return 0;
}
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov