[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/02] linux-user : add vmsplice system call
From: |
vibi sreenivasan |
Subject: |
Re: [Qemu-devel] [PATCH 02/02] linux-user : add vmsplice system call |
Date: |
Mon, 25 May 2009 11:43:07 +0530 |
hi,
Thanks for your comment.
> fine that you provide missing syscalls for user mode one after the other.
>
> I have one remark: if the host os kernel is too old to provide the
> syscalls, they should be #if'ed out (tee, vmsplice & co).
if the host kernel is too old , i think it will return -1 & set errno to
ENOSYS.
So isnt that same as putting #ifdef.
> Or even emulate the syscall - which can be quite hard.
Hmm thinking on that. will it be worth?
>
> I put together the new user linux patches together with riku, seems the
> main qemu staff likes more to make qemu system mode stuff.
>
Thanks for that.
Thanks & Regards
vibi sreenivasan
> Regards, Martin
>
> vibi sreenivasan wrote:
> > linux-user : add vmsplice system call
> >
> > Signed-off-by: vibi sreenivasan <address@hidden>
> >
> > ---
> > linux-user/syscall.c | 14 ++++++++++++++
> > 1 files changed, 14 insertions(+), 0 deletions(-)
> >
> > diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> > index dc726ad..bb32f84 100644
> > --- a/linux-user/syscall.c
> > +++ b/linux-user/syscall.c
> > @@ -6598,6 +6598,20 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
> > arg1,
> > break;
> > #endif
> >
> > +#ifdef TARGET_NR_vmsplice
> > + case TARGET_NR_vmsplice:
> > + {
> > + int count = arg3;
> > + struct iovec *vec;
> > +
> > + vec = alloca(count * sizeof(struct iovec));
> > + if (lock_iovec(VERIFY_READ, vec, arg2, count, 1) < 0)
> > + goto efault;
> > + ret = get_errno(vmsplice(arg1, vec, count, arg4));
> > + unlock_iovec(vec, arg2, count, 0);
> > + }
> > + break;
> > +#endif
> > default:
> > unimplemented:
> > gemu_log("qemu: Unsupported syscall: %d\n", num);
> >
>
>
>