1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (C) 2022 Loongson Technology Corporation Limited 4 */ 5 #include <asm/unwind.h> 6 unwind_get_return_address(struct unwind_state * state)7unsigned long unwind_get_return_address(struct unwind_state *state) 8 { 9 return __unwind_get_return_address(state); 10 } 11 EXPORT_SYMBOL_GPL(unwind_get_return_address); 12 unwind_start(struct unwind_state * state,struct task_struct * task,struct pt_regs * regs)13void unwind_start(struct unwind_state *state, struct task_struct *task, 14 struct pt_regs *regs) 15 { 16 __unwind_start(state, task, regs); 17 if (!unwind_done(state) && !__kernel_text_address(state->pc)) 18 unwind_next_frame(state); 19 } 20 EXPORT_SYMBOL_GPL(unwind_start); 21 unwind_next_frame(struct unwind_state * state)22bool unwind_next_frame(struct unwind_state *state) 23 { 24 return default_next_frame(state); 25 } 26 EXPORT_SYMBOL_GPL(unwind_next_frame); 27