diff options
author | Jens Axboe <axboe@suse.de> | 2006-04-26 10:59:21 +0200 |
---|---|---|
committer | Jens Axboe <axboe@suse.de> | 2006-04-26 10:59:21 +0200 |
commit | 912d35f86781e64d73be1ef358f703c08905ac37 (patch) | |
tree | 5863ad70f5cdccba0c1cd28f83d173deaf71fb83 /arch/powerpc | |
parent | 016b661e2f717168e600f3c85f29e1a49f88e004 (diff) | |
download | op-kernel-dev-912d35f86781e64d73be1ef358f703c08905ac37.zip op-kernel-dev-912d35f86781e64d73be1ef358f703c08905ac37.tar.gz |
[PATCH] Add support for the sys_vmsplice syscall
sys_splice() moves data to/from pipes with a file input/output. sys_vmsplice()
moves data to a pipe, with the input being a user address range instead.
This uses an approach suggested by Linus, where we can hold partial ranges
inside the pages[] map. Hopefully this will be useful for network
receive support as well.
Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/systbl.S | 1 | ||||
-rw-r--r-- | arch/powerpc/platforms/cell/spu_callbacks.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index 8d15226..0b98eea 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S @@ -324,6 +324,7 @@ COMPAT_SYS(ppoll) SYSCALL(unshare) SYSCALL(splice) SYSCALL(tee) +SYSCALL(vmsplice) /* * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index deb3afb..b283380 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c @@ -318,6 +318,7 @@ void *spu_syscall_table[] = { [__NR_unshare] sys_unshare, [__NR_splice] sys_splice, [__NR_tee] sys_tee, + [__NR_vmsplice] sys_vmsplice, }; long spu_sys_callback(struct spu_syscall_block *s) |