Lines Matching refs:sp

1110 static void setup_ksp_vsid(struct task_struct *p, unsigned long sp)  in setup_ksp_vsid()  argument
1117 sp_vsid = get_kernel_vsid(sp, MMU_SEGSIZE_1T) in setup_ksp_vsid()
1120 sp_vsid = get_kernel_vsid(sp, MMU_SEGSIZE_256M) in setup_ksp_vsid()
1141 unsigned long sp = (unsigned long)task_stack_page(p) + THREAD_SIZE; in copy_thread() local
1144 sp -= sizeof(struct pt_regs); in copy_thread()
1145 childregs = (struct pt_regs *) sp; in copy_thread()
1150 childregs->gpr[1] = sp + sizeof(struct pt_regs); in copy_thread()
1182 sp -= STACK_FRAME_OVERHEAD; in copy_thread()
1192 ((unsigned long *)sp)[0] = 0; in copy_thread()
1193 sp -= sizeof(struct pt_regs); in copy_thread()
1194 kregs = (struct pt_regs *) sp; in copy_thread()
1195 sp -= STACK_FRAME_OVERHEAD; in copy_thread()
1196 p->thread.ksp = sp; in copy_thread()
1210 setup_ksp_vsid(p, sp); in copy_thread()
1227 void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp) in start_thread() argument
1247 regs->gpr[1] = sp; in start_thread()
1475 static inline int valid_irq_stack(unsigned long sp, struct task_struct *p, in valid_irq_stack() argument
1487 if (sp >= stack_page + sizeof(struct thread_struct) in valid_irq_stack()
1488 && sp <= stack_page + THREAD_SIZE - nbytes) in valid_irq_stack()
1492 if (sp >= stack_page + sizeof(struct thread_struct) in valid_irq_stack()
1493 && sp <= stack_page + THREAD_SIZE - nbytes) in valid_irq_stack()
1499 int validate_sp(unsigned long sp, struct task_struct *p, in validate_sp() argument
1504 if (sp >= stack_page + sizeof(struct thread_struct) in validate_sp()
1505 && sp <= stack_page + THREAD_SIZE - nbytes) in validate_sp()
1508 return valid_irq_stack(sp, p, nbytes); in validate_sp()
1515 unsigned long ip, sp; in get_wchan() local
1521 sp = p->thread.ksp; in get_wchan()
1522 if (!validate_sp(sp, p, STACK_FRAME_OVERHEAD)) in get_wchan()
1526 sp = *(unsigned long *)sp; in get_wchan()
1527 if (!validate_sp(sp, p, STACK_FRAME_OVERHEAD)) in get_wchan()
1530 ip = ((unsigned long *)sp)[STACK_FRAME_LR_SAVE]; in get_wchan()
1542 unsigned long sp, ip, lr, newsp; in show_stack() local
1551 sp = (unsigned long) stack; in show_stack()
1554 if (sp == 0) { in show_stack()
1556 sp = current_stack_pointer(); in show_stack()
1558 sp = tsk->thread.ksp; in show_stack()
1564 if (!validate_sp(sp, tsk, STACK_FRAME_OVERHEAD)) in show_stack()
1567 stack = (unsigned long *) sp; in show_stack()
1571 printk("["REG"] ["REG"] %pS", sp, ip, (void *)ip); in show_stack()
1589 if (validate_sp(sp, tsk, STACK_INT_FRAME_SIZE) in show_stack()
1592 (sp + STACK_FRAME_OVERHEAD); in show_stack()
1599 sp = newsp; in show_stack()
1631 unsigned long arch_align_stack(unsigned long sp) in arch_align_stack() argument
1634 sp -= get_random_int() & ~PAGE_MASK; in arch_align_stack()
1635 return sp & ~0xf; in arch_align_stack()