process.c (05b98791ec60f6a1862c58b3424f6aaeb00dfb72) | process.c (ed1cd6deb013a11959d17a94e35ce159197632da) |
---|---|
1/* 2 * Derived from "arch/i386/kernel/process.c" 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and 6 * Paul Mackerras (paulus@cs.anu.edu.au) 7 * 8 * PowerPC version --- 1620 unchanged lines hidden (view full) --- 1629{ 1630 struct pt_regs *childregs, *kregs; 1631 extern void ret_from_fork(void); 1632 extern void ret_from_kernel_thread(void); 1633 void (*f)(void); 1634 unsigned long sp = (unsigned long)task_stack_page(p) + THREAD_SIZE; 1635 struct thread_info *ti = task_thread_info(p); 1636 | 1/* 2 * Derived from "arch/i386/kernel/process.c" 3 * Copyright (C) 1995 Linus Torvalds 4 * 5 * Updated and modified by Cort Dougan (cort@cs.nmt.edu) and 6 * Paul Mackerras (paulus@cs.anu.edu.au) 7 * 8 * PowerPC version --- 1620 unchanged lines hidden (view full) --- 1629{ 1630 struct pt_regs *childregs, *kregs; 1631 extern void ret_from_fork(void); 1632 extern void ret_from_kernel_thread(void); 1633 void (*f)(void); 1634 unsigned long sp = (unsigned long)task_stack_page(p) + THREAD_SIZE; 1635 struct thread_info *ti = task_thread_info(p); 1636 |
1637 klp_init_thread_info(ti); | 1637 klp_init_thread_info(p); |
1638 1639 /* Copy registers */ 1640 sp -= sizeof(struct pt_regs); 1641 childregs = (struct pt_regs *) sp; 1642 if (unlikely(p->flags & PF_KTHREAD)) { 1643 /* kernel thread */ 1644 memset(childregs, 0, sizeof(struct pt_regs)); 1645 childregs->gpr[1] = sp + sizeof(struct pt_regs); --- 593 unchanged lines hidden --- | 1638 1639 /* Copy registers */ 1640 sp -= sizeof(struct pt_regs); 1641 childregs = (struct pt_regs *) sp; 1642 if (unlikely(p->flags & PF_KTHREAD)) { 1643 /* kernel thread */ 1644 memset(childregs, 0, sizeof(struct pt_regs)); 1645 childregs->gpr[1] = sp + sizeof(struct pt_regs); --- 593 unchanged lines hidden --- |