X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fkernel%2Fprocess.c;h=dbd8ca89b385b24f00b0d252ddab677db034c8ef;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=1301b0378f0365732d9eb879d8989976704283b1;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 1301b0378..dbd8ca89b 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -97,6 +97,8 @@ void default_idle(void) */ void cpu_idle(void) { + local_fiq_enable(); + /* endless idle loop with no priority at all */ while (1) { void (*idle)(void) = pm_idle; @@ -350,6 +352,9 @@ copy_thread(int nr, unsigned long clone_flags, unsigned long stack_start, thread->cpu_context.sp = (unsigned long)childregs; thread->cpu_context.pc = (unsigned long)ret_from_fork; + if (clone_flags & CLONE_SETTLS) + thread->tp_value = regs->ARM_r3; + return 0; }