diff options
Diffstat (limited to 'arch/sh/kernel/process.c')
| -rw-r--r-- | arch/sh/kernel/process.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index a7810c9144dc..b7b9fbc1b48e 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -139,10 +139,6 @@ void free_task_struct(struct task_struct *p) /* * This is the mechanism for creating a new kernel thread. * - * NOTE! Only a kernel-only process(ie the swapper or direct descendants - * who haven't done an "execve()") should use this: it will work within - * a system call from a "real" process, but the process memory space will - * not be free'd until both the parent and the child have exited. */ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) { /* Don't use this in BL=1(cli). Or else, CPU resets! */ @@ -154,7 +150,7 @@ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) register unsigned long __sc9 __asm__ ("r9") = (long) fn; __asm__("trapa #0x12\n\t" /* Linux/SH system call */ - "tst #0xff, r0\n\t" /* child or parent? */ + "tst r0, r0\n\t" /* child or parent? */ "bf 1f\n\t" /* parent - jump */ "jsr @r9\n\t" /* call fn */ " mov r8, r4\n\t" /* push argument */ |
