]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/m68knommu/kernel/process.c
Merge git://oss.sgi.com:8090/oss/git/rc-fixes-xfs-2.6
[linux-2.6-omap-h63xx.git] / arch / m68knommu / kernel / process.c
index 8b3cf57ba706f04043a3da3f11e590ea5d7052a0..63c117dae0c32ba2a4e3c0f3a9879f344c0ad091 100644 (file)
 
 asmlinkage void ret_from_fork(void);
 
+/*
+ * The following aren't currently used.
+ */
+void (*pm_idle)(void);
+EXPORT_SYMBOL(pm_idle);
+
+void (*pm_power_off)(void);
+EXPORT_SYMBOL(pm_power_off);
 
 /*
  * The idle loop on an m68knommu..
@@ -198,10 +206,9 @@ int copy_thread(int nr, unsigned long clone_flags,
 {
        struct pt_regs * childregs;
        struct switch_stack * childstack, *stack;
-       unsigned long stack_offset, *retp;
+       unsigned long *retp;
 
-       stack_offset = THREAD_SIZE - sizeof(struct pt_regs);
-       childregs = (struct pt_regs *) ((unsigned long) p->thread_info + stack_offset);
+       childregs = (struct pt_regs *) (task_stack_page(p) + THREAD_SIZE) - 1;
 
        *childregs = *regs;
        childregs->d0 = 0;