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.
27 lines
619 B
27 lines
619 B
/** |
|
* @file backtrace.c |
|
* |
|
* @remark Copyright 2008 Tensilica Inc. |
|
* Copyright (C) 2015 Cadence Design Systems Inc. |
|
* @remark Read the file COPYING |
|
* |
|
*/ |
|
|
|
#include <linux/oprofile.h> |
|
#include <asm/ptrace.h> |
|
#include <asm/stacktrace.h> |
|
|
|
static int xtensa_backtrace_cb(struct stackframe *frame, void *data) |
|
{ |
|
oprofile_add_trace(frame->pc); |
|
return 0; |
|
} |
|
|
|
void xtensa_backtrace(struct pt_regs * const regs, unsigned int depth) |
|
{ |
|
if (user_mode(regs)) |
|
xtensa_backtrace_user(regs, depth, xtensa_backtrace_cb, NULL); |
|
else |
|
xtensa_backtrace_kernel(regs, depth, xtensa_backtrace_cb, |
|
xtensa_backtrace_cb, NULL); |
|
}
|
|
|