qemu/linux-user
Michael Tokarev 62dc90c668 linux-user: refactor do_socketcall()
Refactor do_socketcall() to do argument conversion/checking first,
according to a lookup table (which call has how many args) and
by calling the right function second with ready-to-go arguments.

This ensures that all arguments are handled as abi_long, according
to socketcall prototype, and simplifies argument handling alot too.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
2014-02-15 16:10:25 +04:00
..
aarch64 linux-user: AArch64: define TARGET_CLONE_BACKWARDS 2014-01-08 19:07:20 +00:00
alpha linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
arm target-arm: Widen thread-local register state fields to 64 bits 2014-01-07 19:17:59 +00:00
cris linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
i386 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
m68k linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
microblaze linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
mips linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
mips64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
openrisc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
ppc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
s390x linux-user: fixed s390x clone() argument order 2014-01-15 23:35:51 +04:00
sh4 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
sparc linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
sparc64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
unicore32 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
x86_64 linux-user: create target_structs header to place ipc_perm and shmid_ds 2013-11-29 11:42:04 +02:00
cpu-uname.c linux-user: Don't treat AArch64 cpu names specially 2013-09-10 19:11:28 +01:00
cpu-uname.h linux-user: adapt uname machine to emulated CPU 2010-02-06 17:19:43 +01:00
elfload.c linux-user: Remove regs parameter of load_elf_binary and load_flt_binary 2014-01-10 08:51:37 +02:00
errno_defs.h Remove unnecessary trailing newlines 2008-12-13 09:32:43 +00:00
flat.h Support for 32 bit ABI on 64 bit targets (only enabled Sparc64) 2007-10-14 16:27:31 +00:00
flatload.c linux-user: Remove regs parameter of load_elf_binary and load_flt_binary 2014-01-10 08:51:37 +02:00
ioctls.h linux-user: allow use of TIOCGSID 2013-09-24 10:47:07 +03:00
linux_loop.h Fix build failure with old kernel headers (loop.h is incompatible with 2008-05-23 16:06:43 +00:00
linuxload.c linux-user: Remove regs parameter of load_elf_binary and load_flt_binary 2014-01-10 08:51:37 +02:00
m68k-sim.c linux-user: Fix typo m86k -> m68k 2010-10-05 13:53:56 -05:00
main.c target-arm: A64: support for ld/st/cl exclusive 2014-01-08 19:07:20 +00:00
Makefile.objs build: move *-user/ objects to nested Makefile.objs 2012-06-07 07:17:33 +02:00
mmap.c configure: Make NPTL non-optional 2013-07-22 21:54:52 +03:00
qemu.h linux-user: Remove regs parameter of load_elf_binary and load_flt_binary 2014-01-10 08:51:37 +02:00
signal.c linux-user: Fix trampoline code for CRIS 2014-02-03 14:04:00 +00:00
socket.h linux-user: improve target_to_host_sock_type conversion 2013-07-05 15:45:40 +03:00
strace.c linux-user: Don't omit comma for strace of rt_sigaction() 2013-04-05 14:40:54 +02:00
strace.list [v2] linux-user: implement m68k atomic syscalls 2013-09-24 10:47:07 +03:00
syscall_defs.h linux-user: Support the accept4 socketcall 2014-01-10 08:51:36 +02:00
syscall_types.h linux-user: Fix SNDCTL_DSP_MAP{IN, OUT}BUF ioctl definitions 2012-08-13 12:45:46 +01:00
syscall.c linux-user: refactor do_socketcall() 2014-02-15 16:10:25 +04:00
target_flat.h linux-user/FLAT: allow targets to override FLAT processing 2011-02-09 10:33:54 +02:00
uaccess.c Fix missing strnlen problems 2009-07-01 18:24:44 +00:00
vm86.c linux-user: fix abi_(u)long, target_ulong mismatch 2011-10-27 14:42:16 +03:00