patch-2.3.39 linux/arch/ppc/kernel/process.c
Next file: linux/arch/ppc/kernel/setup.c
Previous file: linux/arch/ppc/kernel/ppc4xx_pic.h
Back to the patch index
Back to the overall index
- Lines: 18
- Date:
Mon Jan 10 18:25:32 2000
- Orig file:
v2.3.38/linux/arch/ppc/kernel/process.c
- Orig date:
Mon Dec 20 18:48:21 1999
diff -u --recursive --new-file v2.3.38/linux/arch/ppc/kernel/process.c linux/arch/ppc/kernel/process.c
@@ -287,6 +287,7 @@
copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
struct task_struct * p, struct pt_regs * regs)
{
+ unsigned long msr;
struct pt_regs * childregs, *kregs;
#ifdef __SMP__
extern void ret_from_smpfork(void);
@@ -310,7 +311,8 @@
#else
kregs->nip = (unsigned long)ret_from_syscall;
#endif
- kregs->msr = MSR_KERNEL;
+ asm volatile("mfmsr %0" : "=r" (msr):);
+ kregs->msr = msr;
kregs->gpr[1] = (unsigned long)childregs - STACK_FRAME_OVERHEAD;
kregs->gpr[2] = (unsigned long)p;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)