From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1M8TNk-0004iI-2K for qemu-devel@nongnu.org; Mon, 25 May 2009 02:09:56 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1M8TNg-0004ei-Dp for qemu-devel@nongnu.org; Mon, 25 May 2009 02:09:55 -0400 Received: from [199.232.76.173] (port=36542 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1M8TNg-0004eY-1S for qemu-devel@nongnu.org; Mon, 25 May 2009 02:09:52 -0400 Received: from mailgw3.cms.com ([202.75.200.223]:7394 helo=cms.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1M8TNd-0003wY-JX for qemu-devel@nongnu.org; Mon, 25 May 2009 02:09:51 -0400 Subject: Re: [Qemu-devel] [PATCH 02/02] linux-user : add vmsplice system call From: vibi sreenivasan In-Reply-To: <4A199013.10001@opensuse.org> References: <1243152335.2111.9.camel@system> <4A199013.10001@opensuse.org> Content-Type: text/plain Date: Mon, 25 May 2009 11:43:07 +0530 Message-Id: <1243231987.2177.7.camel@system> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Resent-Message-Id: Reply-To: vibi_sreenivasan@cms.com List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Martin Mohring Cc: Riku Voipio , qemu-devel@nongnu.org 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 > > > > --- > > 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); > > > > >