Fixed.
Post by Aneesh KumarHi Brian,
The only change we have in this file is covered by CONFIG_SSI. (The
diff is attached below )
I guess we can move this file to OpenSSI repository.
-aneesh
------------------------------------------------------------------------
Index: process.c
===================================================================
RCS file: /cvsroot/ci-linux/ci/kernel/arch/i386/kernel/process.c,v
retrieving revision 1.1.1.2
retrieving revision 1.5
diff -u -5 -r1.1.1.2 -r1.5
--- process.c 9 Feb 2005 03:14:02 -0000 1.1.1.2
+++ process.c 24 Mar 2005 19:49:01 -0000 1.5
@@ -277,10 +277,18 @@
/*
* Create a kernel thread
*/
int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
+#ifdef CONFIG_SSI
+{
+ return kernel_thread_with_pid(fn, arg, flags, 0);
+}
+
+int kernel_thread_with_pid(int (*fn)(void *), void * arg, unsigned long flags,
+ pid_t pid)
+#endif
{
struct pt_regs regs;
memset(®s, 0, sizeof(regs));
@@ -293,11 +301,16 @@
regs.eip = (unsigned long) kernel_thread_helper;
regs.xcs = __KERNEL_CS;
regs.eflags = X86_EFLAGS_IF | X86_EFLAGS_SF | X86_EFLAGS_PF | 0x2;
/* Ok, create the new process.. */
+#ifdef CONFIG_SSI
+ return __do_fork(flags | IS_KTHREAD | CLONE_VM | CLONE_UNTRACED, 0,
+ ®s, 0, NULL, NULL, pid);
+#else
return do_fork(flags | CLONE_VM | CLONE_UNTRACED, 0, ®s, 0, NULL, NULL);
+#endif
}
/*
* Free current thread data structures etc..
*/