forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
884 B
39 lines
884 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
/* Copyright (C) 2008-2018 Andes Technology Corporation */ |
|
|
|
#ifndef __ASM_STACKTRACE_H |
|
#define __ASM_STACKTRACE_H |
|
|
|
/* Kernel callchain */ |
|
struct stackframe { |
|
unsigned long fp; |
|
unsigned long sp; |
|
unsigned long lp; |
|
}; |
|
|
|
/* |
|
* struct frame_tail: User callchain |
|
* IMPORTANT: |
|
* This struct is used for call-stack walking, |
|
* the order and types matters. |
|
* Do not use array, it only stores sizeof(pointer) |
|
* |
|
* The details can refer to arch/arm/kernel/perf_event.c |
|
*/ |
|
struct frame_tail { |
|
unsigned long stack_fp; |
|
unsigned long stack_lp; |
|
}; |
|
|
|
/* For User callchain with optimize for size */ |
|
struct frame_tail_opt_size { |
|
unsigned long stack_r6; |
|
unsigned long stack_fp; |
|
unsigned long stack_gp; |
|
unsigned long stack_lp; |
|
}; |
|
|
|
extern void |
|
get_real_ret_addr(unsigned long *addr, struct task_struct *tsk, int *graph); |
|
|
|
#endif /* __ASM_STACKTRACE_H */
|
|
|