Re: [patch 08/14] syslets: x86, add create_async_thread() method

2007-02-17 Thread Evgeniy Polyakov
On Thu, Feb 15, 2007 at 05:52:39PM +0100, Ingo Molnar ([EMAIL PROTECTED]) wrote: > +/* > + * Create an async thread > + */ > +int create_async_thread(int (*fn)(void *), void * arg, unsigned long flags) > +{ > + struct pt_regs regs; > + > + memset(, 0, sizeof(regs)); > + > + regs.ebx =

Re: [patch 08/14] syslets: x86, add create_async_thread() method

2007-02-17 Thread Evgeniy Polyakov
On Thu, Feb 15, 2007 at 05:52:39PM +0100, Ingo Molnar ([EMAIL PROTECTED]) wrote: +/* + * Create an async thread + */ +int create_async_thread(int (*fn)(void *), void * arg, unsigned long flags) +{ + struct pt_regs regs; + + memset(regs, 0, sizeof(regs)); + + regs.ebx =

Re: [patch 08/14] syslets: x86, add create_async_thread() method

2007-02-15 Thread Davide Libenzi
On Thu, 15 Feb 2007, Ingo Molnar wrote: > +ENTRY(async_thread_helper) > + CFI_STARTPROC > + /* > + * Allocate space on the stack for pt-regs. > + * sizeof(struct pt_regs) == 64, and we've got 8 bytes on the > + * kernel stack already: > + */ > + subl $64-8, %esp >

[patch 08/14] syslets: x86, add create_async_thread() method

2007-02-15 Thread Ingo Molnar
From: Ingo Molnar <[EMAIL PROTECTED]> add the create_async_thread() way of creating kernel threads: these threads first execute a kernel function and when they return from it they execute user-space. An architecture must implement this interface before it can turn CONFIG_ASYNC_SUPPORT on.

[patch 08/14] syslets: x86, add create_async_thread() method

2007-02-15 Thread Ingo Molnar
From: Ingo Molnar [EMAIL PROTECTED] add the create_async_thread() way of creating kernel threads: these threads first execute a kernel function and when they return from it they execute user-space. An architecture must implement this interface before it can turn CONFIG_ASYNC_SUPPORT on.

Re: [patch 08/14] syslets: x86, add create_async_thread() method

2007-02-15 Thread Davide Libenzi
On Thu, 15 Feb 2007, Ingo Molnar wrote: +ENTRY(async_thread_helper) + CFI_STARTPROC + /* + * Allocate space on the stack for pt-regs. + * sizeof(struct pt_regs) == 64, and we've got 8 bytes on the + * kernel stack already: + */ + subl $64-8, %esp +