11 #include <linux/module.h>
12 #include <linux/sched.h>
15 #include <linux/bitops.h>
16 #include <asm/pgalloc.h>
17 #include <asm/uaccess.h>
18 #include <asm/cacheflush.h>
24 regs->
r1, regs->
r2, regs->
r3, regs->
r4);
26 regs->
r5, regs->
r6, regs->
r7, regs->
r8);
47 static int hlt_counter = 1;
84 clear_thread_flag(TIF_POLLING_NRFLAG);
87 while (!need_resched())
90 set_thread_flag(TIF_POLLING_NRFLAG);
96 set_thread_flag(TIF_POLLING_NRFLAG);
105 tick_nohz_idle_enter();
107 while (!need_resched())
110 tick_nohz_idle_exit();
136 ti->cpu_context.r1 = (
unsigned long)childregs;
137 ti->cpu_context.msr = (
unsigned long)childregs->
msr;
142 if (kernel_mode(regs))
144 childregs->CURRENT_TASK = (
unsigned long)
p;
150 if (kernel_mode(regs))
157 childregs->
msr |= MSR_UMS;
161 ti->cpu_context.r1 = (
unsigned long)childregs;
175 childregs->
msr &= ~MSR_VM;
176 childregs->
msr |= MSR_VMS;
179 ti->cpu_context.msr = (childregs->
msr|MSR_VM);
180 ti->cpu_context.msr &= ~MSR_UMS;
181 ti->cpu_context.msr &= ~
MSR_IE;
190 childregs->
r21 = childregs->
r10;
206 return (
unsigned long)ctx->r15;
222 memset(®s, 0,
sizeof(regs));
225 regs.
r6 = (
unsigned long)arg;
248 regs->
msr |= MSR_UMS;
253 #include <linux/elfcore.h>