1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Copyright (C) 2022 Loongson Technology Corporation Limited 4 */ 5 #include <asm/unwind.h> 6 7 unsigned 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 13 void 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 22 bool unwind_next_frame(struct unwind_state *state) 23 { 24 return default_next_frame(state); 25 } 26 EXPORT_SYMBOL_GPL(unwind_next_frame); 27