linux/arch/nds32/include/asm/stacktrace.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2/* Copyright (C) 2008-2018 Andes Technology Corporation */
   3
   4#ifndef __ASM_STACKTRACE_H
   5#define __ASM_STACKTRACE_H
   6
   7/* Kernel callchain */
   8struct stackframe {
   9        unsigned long fp;
  10        unsigned long sp;
  11        unsigned long lp;
  12};
  13
  14/*
  15 * struct frame_tail: User callchain
  16 * IMPORTANT:
  17 * This struct is used for call-stack walking,
  18 * the order and types matters.
  19 * Do not use array, it only stores sizeof(pointer)
  20 *
  21 * The details can refer to arch/arm/kernel/perf_event.c
  22 */
  23struct frame_tail {
  24        unsigned long stack_fp;
  25        unsigned long stack_lp;
  26};
  27
  28/* For User callchain with optimize for size */
  29struct frame_tail_opt_size {
  30        unsigned long stack_r6;
  31        unsigned long stack_fp;
  32        unsigned long stack_gp;
  33        unsigned long stack_lp;
  34};
  35
  36extern void
  37get_real_ret_addr(unsigned long *addr, struct task_struct *tsk, int *graph);
  38
  39#endif /* __ASM_STACKTRACE_H */
  40