unwinder.h 817 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef _LINUX_UNWINDER_H
  2. #define _LINUX_UNWINDER_H
  3. #include <asm/stacktrace.h>
  4. struct unwinder {
  5. const char *name;
  6. struct list_head list;
  7. int rating;
  8. void (*dump)(struct task_struct *, struct pt_regs *,
  9. unsigned long *, const struct stacktrace_ops *, void *);
  10. };
  11. extern int unwinder_init(void);
  12. extern int unwinder_register(struct unwinder *);
  13. extern void unwind_stack(struct task_struct *, struct pt_regs *,
  14. unsigned long *, const struct stacktrace_ops *,
  15. void *);
  16. extern void stack_reader_dump(struct task_struct *, struct pt_regs *,
  17. unsigned long *, const struct stacktrace_ops *,
  18. void *);
  19. /*
  20. * Used by fault handling code to signal to the unwinder code that it
  21. * should switch to a different unwinder.
  22. */
  23. extern int unwinder_faulted;
  24. #endif /* _LINUX_UNWINDER_H */