qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC] [PATCH 0/5] linux-user: refactor do_syscall()


From: Richard Henderson
Subject: Re: [Qemu-devel] [RFC] [PATCH 0/5] linux-user: refactor do_syscall()
Date: Fri, 12 Oct 2012 13:47:30 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121009 Thunderbird/16.0

On 10/12/2012 11:24 AM, address@hidden wrote:
> From: Riku Voipio <address@hidden>
> 
> Currently linux-user handles system calls with a 3000+ line switch/case 
> construct
> in do_syscall(). Some syscalls are implemented inline in the switch/case, 
> others
> as separate functions, and the rest as mix of both.
> 
> As the first step of the cleanup, I'd like to move implementation of each 
> syscall
> completely to their own functions. While at it, we define more standard 
> interface between
> do_syscall() and the functions implementing the system calls: system call 
> functions take
> parameter as raw abi_long, and leave the host to target errno conversion to 
> do_syscall.

My only concern is leaving the host-to-target conversion to do_syscall.
I think the return value from do_foo should be the proper target return value.

My concern here are those handful of syscalls for which we have target-specific
error reporting mechanisms, and for which those reporting mechanisms are 
exploited
in some nefarious way.  E.g. sigprocmask and getpriority.


r~



reply via email to

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