tor, 06 12 2007 kl. 15:20 -0800, skrev Zach Brown:
> The following patches are a substantial refactoring of the syslet code.  I'm
> branding them as the v7 release of the syslet infrastructure, though they
> represent a signifiant change in focus.
> 
> My current focus is to see the most fundamental functionality brought to
> maturity.  To me, this means getting a ABI that is used by applications 
> through
> glibc on x86 and PPC64.   Only once that is ready should we distract ourselves
> with advanced complexity.
> 
> To that end, this patch series differs from v6 in significant ways:
> 
>  * syslets are initiated by providing syslet arguments to sys_indirect().
> 
>  * uatoms, threadlets, and the kaio changes are postponed until they can be
>    justified and rebuilt on more complete infrastructure.  (I'm not saying
>    these shouldn't or won't be persued.  I'm saying that we should get the
>    simplest piece working first.)
> 
>  * the code is clarified and commented, the patches are bisectable and pass
>    checkpatch.
> 
> The use of sys_indirect() and the move from 'atom's simplified the ABI
> considerably.  I've put a trivial example in a syslet-userspace git tree:
> 
>     git://git.kernel.org/pub/scm/linux/kernel/git/zab/syslets-userspace.git
> 

Signed-of-by: Simon Holm Thøgersen <[EMAIL PROTECTED]>
---

diff --git a/basic.c b/basic.c
index 418a1a3..5938d85 100644
--- a/basic.c
+++ b/basic.c
@@ -42,7 +42,7 @@ int main(int argc, char **argv)
        params.syslet.frame.sp = (u64)(long)memalign(pagesize, pagesize);
 
        memset(&params, 0, sizeof(params));
-       params.syslet.frame.ip = (u64)syslet_return_func;
+       params.syslet.frame.ip = (u64)(long)syslet_return_func;
        params.syslet.frame.sp = (u64)(long)memalign(pagesize, pagesize);
        params.syslet.ring_ptr = (u64)(long)ring;
 
@@ -55,7 +55,7 @@ int main(int argc, char **argv)
                        pid, my_pid);
        }
 
-       params.syslet.frame.ip = (u64)syslet_return_func;
+       params.syslet.frame.ip = (u64)(long)syslet_return_func;
        params.syslet.frame.sp = (u64)(long)memalign(pagesize, pagesize);
        params.syslet.ring_ptr = (u64)(long)ring;
        params.syslet.caller_data = CALLER_DATA;


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to