qemu-devel
[Top][All Lists]
Advanced

[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);
> >   
> 
> 
> 






reply via email to

[Prev in Thread] Current Thread [Next in Thread]