parisc: Consolidate unwind initialization calls
Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
@@ -16,20 +16,7 @@ static void dump_trace(struct task_struct *task, struct stack_trace *trace)
|
||||
{
|
||||
struct unwind_frame_info info;
|
||||
|
||||
/* initialize unwind info */
|
||||
if (task == current) {
|
||||
unsigned long sp;
|
||||
struct pt_regs r;
|
||||
HERE:
|
||||
asm volatile ("copy %%r30, %0" : "=r"(sp));
|
||||
memset(&r, 0, sizeof(struct pt_regs));
|
||||
r.iaoq[0] = (unsigned long)&&HERE;
|
||||
r.gr[2] = (unsigned long)__builtin_return_address(0);
|
||||
r.gr[30] = sp;
|
||||
unwind_frame_init(&info, task, &r);
|
||||
} else {
|
||||
unwind_frame_init_from_blocked_task(&info, task);
|
||||
}
|
||||
unwind_frame_init_task(&info, task, NULL);
|
||||
|
||||
/* unwind stack and save entries in stack_trace struct */
|
||||
trace->nr_entries = 0;
|
||||
|
Reference in New Issue
Block a user