[Top][All Lists]
[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~
- [Qemu-devel] [RFC] [PATCH 0/5] linux-user: refactor do_syscall(), riku . voipio, 2012/10/12
- [Qemu-devel] [PATCH 4/5] linux-user: complete do_open function isolation, riku . voipio, 2012/10/12
- [Qemu-devel] [PATCH 5/5] linux-user: do_openat wrapper added, riku . voipio, 2012/10/12
- [Qemu-devel] [PATCH 1/5] linux-user: move exit to own function, riku . voipio, 2012/10/12
- [Qemu-devel] [PATCH 2/5] linux-user: move read to own function, riku . voipio, 2012/10/12
- [Qemu-devel] [PATCH 3/5] linux-user: move write to own function, riku . voipio, 2012/10/12
- Re: [Qemu-devel] [RFC] [PATCH 0/5] linux-user: refactor do_syscall(),
Richard Henderson <=
- Re: [Qemu-devel] [RFC] [PATCH 0/5] linux-user: refactor do_syscall(), Blue Swirl, 2012/10/13