summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/powerpc/shared/src/stack.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libcpu/powerpc/shared/src/stack.c')
-rw-r--r--c/src/lib/libcpu/powerpc/shared/src/stack.c43
1 files changed, 0 insertions, 43 deletions
diff --git a/c/src/lib/libcpu/powerpc/shared/src/stack.c b/c/src/lib/libcpu/powerpc/shared/src/stack.c
deleted file mode 100644
index 1e13b3d9ed..0000000000
--- a/c/src/lib/libcpu/powerpc/shared/src/stack.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <inttypes.h>
-#include <rtems/bspIo.h>
-#include <libcpu/stackTrace.h>
-#include <libcpu/spr.h>
-
-SPR_RO(PPC_LR)
-
-typedef struct FrameRec_ {
- struct FrameRec_ *up;
- void *lr;
-} FrameRec, *Frame;
-
-#define CPU_STACK_TRACE_DEPTH 40
-
-void CPU_stack_take_snapshot(void **stack, int size, void *pc, void *lr, void *r1)
-{
-register Frame p = (Frame)lr;
-register int i=0;
- if (pc) stack[i++]=pc;
- if (!p)
- p = (Frame)_read_PPC_LR();
- stack[i++]=p;
- p = r1;
- if (!p) /* no macro for reading user regs */
- __asm__ __volatile__("mr %0, %%r1":"=r"(p));
- for (; i<size-1 && p->up; p=p->up, i++) {
- stack[i]=p->up->lr;
- }
- stack[i]=0;
-}
-
-void CPU_print_stack(void)
-{
- void *stck[CPU_STACK_TRACE_DEPTH];
- int i;
- CPU_stack_take_snapshot(stck,CPU_STACK_TRACE_DEPTH,0,0,0);
- for (i=0; stck[i]; i++) {
- if (i%5) printk("--> ");
- else printk("\n");
- printk("0x%08" PRIuPTR, (uintptr_t)stck[i]);
- }
- printk("\n");
-}