Lines Matching +full:current +full:- +full:rotate

8  * Copyright (C) 2001 - 2013 Tensilica Inc.
32 unsigned long windowstart = regs->windowstart; in xtensa_backtrace_user()
33 unsigned long windowbase = regs->windowbase; in xtensa_backtrace_user()
34 unsigned long a0 = regs->areg[0]; in xtensa_backtrace_user()
35 unsigned long a1 = regs->areg[1]; in xtensa_backtrace_user()
36 unsigned long pc = regs->pc; in xtensa_backtrace_user()
40 if (!depth--) in xtensa_backtrace_user()
51 !(regs->ps & PS_WOE_MASK))) in xtensa_backtrace_user()
63 /* Rotate WINDOWSTART to move the bit corresponding to in xtensa_backtrace_user()
64 * the current window to the bit #0. in xtensa_backtrace_user()
71 for (index = WSBITS - 1; (index > 0) && depth; depth--, index--) in xtensa_backtrace_user()
78 a0 = regs->areg[index * 4]; in xtensa_backtrace_user()
79 a1 = regs->areg[index * 4 + 1]; in xtensa_backtrace_user()
96 /* a1 = regs->areg[1]; */ in xtensa_backtrace_user()
97 while (a0 != 0 && depth--) { in xtensa_backtrace_user()
122 unsigned long pc = regs->depc > VALID_DOUBLE_EXCEPTION_ADDRESS ? in xtensa_backtrace_kernel()
123 regs->depc : regs->pc; in xtensa_backtrace_kernel()
125 unsigned long a0 = regs->areg[0]; in xtensa_backtrace_kernel()
126 unsigned long a1 = regs->areg[1]; in xtensa_backtrace_kernel()
128 sp_start = a1 & ~(THREAD_SIZE - 1); in xtensa_backtrace_kernel()
137 while (a1 > sp_start && a1 < sp_end && depth--) { in xtensa_backtrace_kernel()
154 a0 = regs->areg[0]; in xtensa_backtrace_kernel()
155 a1 = regs->areg[1]; in xtensa_backtrace_kernel()
211 struct stack_trace *trace = trace_data->trace; in stack_trace_cb()
213 if (trace_data->skip) { in stack_trace_cb()
214 --trace_data->skip; in stack_trace_cb()
217 if (!kernel_text_address(frame->pc)) in stack_trace_cb()
220 trace->entries[trace->nr_entries++] = frame->pc; in stack_trace_cb()
221 return trace->nr_entries >= trace->max_entries; in stack_trace_cb()
228 .skip = trace->skip, in save_stack_trace_tsk()
236 save_stack_trace_tsk(current, trace); in save_stack_trace()
251 if (r->skip) { in return_address_cb()
252 --r->skip; in return_address_cb()
255 if (!kernel_text_address(frame->pc)) in return_address_cb()
257 r->addr = frame->pc; in return_address_cb()