• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/arch/x86/kernel/

Lines Matching defs:stack

35 static unsigned long *in_exception_stack(unsigned cpu, unsigned long stack,
42 * 'stack' is in one of them:
47 * Is 'stack' above this exception frame's end?
50 if (stack >= end)
53 * Is 'stack' above this exception frame's start address?
56 if (stack >= end - EXCEPTION_STKSZ) {
59 * stack once. If it comes up for the second time
70 * If this is a debug stack, and if it has a larger size than
71 * the usual exception stacks, then 'stack' might still
72 * be within the lower portion of the debug stack:
75 if (k == DEBUG_STACK - 1 && stack >= end - DEBUG_STKSZ) {
79 * Black magic. A large debug stack is composed of
80 * multiple exception stack entries, which we
88 } while (stack < end - EXCEPTION_STKSZ);
101 in_irq_stack(unsigned long *stack, unsigned long *irq_stack,
104 return (stack >= irq_stack && stack < irq_stack_end);
108 * We are returning from the irq stack and go to the previous one.
109 * If the previous stack is also in the irq stack, then bp in the first
110 * frame of the irq stack points to the previous, interrupted one.
112 * the bp of the previous stack, then we switch the stack to the irq one
117 fixup_bp_irq_link(unsigned long bp, unsigned long *stack,
124 if (!in_irq_stack(stack, irq_stack, irq_stack_end)) {
137 * process stack
138 * interrupt stack
139 * severe exception (double fault, nmi, stack fault, debug, mce) hardware stack
143 unsigned long *stack, unsigned long bp,
156 if (!stack) {
158 stack = &dummy;
160 stack = (unsigned long *)task->thread.sp;
177 * current stack address. If the stacks consist of nested
184 estack_end = in_exception_stack(cpu, (unsigned long)stack,
188 if (ops->stack(data, id) < 0)
191 bp = ops->walk_stack(tinfo, stack, bp, ops,
193 ops->stack(data, "<EOE>");
195 * We link to the next stack via the
197 * exception stack:
199 stack = (unsigned long *) estack_end[-2];
207 if (in_irq_stack(stack, irq_stack, irq_stack_end)) {
208 if (ops->stack(data, "IRQ") < 0)
210 bp = ops->walk_stack(tinfo, stack, bp,
213 * We link to the next stack (which would be
214 * the process stack normally) the last
215 * pointer (index -1 to end) in the IRQ stack:
217 stack = (unsigned long *) (irq_stack_end[-1]);
218 bp = fixup_bp_irq_link(bp, stack, irq_stack,
221 ops->stack(data, "EOI");
229 * This handles the process stack:
231 bp = ops->walk_stack(tinfo, stack, bp, ops, data, NULL, &graph);
242 unsigned long *stack;
263 stack = sp;
265 if (stack >= irq_stack && stack <= irq_stack_end) {
266 if (stack == irq_stack_end) {
267 stack = (unsigned long *) (irq_stack_end[-1]);
271 if (((long) stack & (THREAD_SIZE-1)) == 0)
276 printk(" %016lx", *stack++);
300 * When in-kernel, we also print out the stack and code at the