93a92d3b | 15-Feb-2016 |
Riku Voipio <riku.voipio@linaro.org> |
linux-user: correct timerfd_create syscall numbers
x86, m68k, ppc, sh4 and sparc failed to enable timerfd, because they didn't have timerfd_create system call defined. Instead QEMU defined timerfd s
linux-user: correct timerfd_create syscall numbers
x86, m68k, ppc, sh4 and sparc failed to enable timerfd, because they didn't have timerfd_create system call defined. Instead QEMU defined timerfd syscall. Checking with kernel sources, it appears kernel developers reused timerfd syscall number with timerfd_create, presumably since no userspace called the old syscall number.
Reported-by: Laurent Vivier <laurent@vivier.eu> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
show more ...
|
4ce6243d | 16-Jul-2013 |
Peter Maydell <peter.maydell@linaro.org> |
linux-user: Clean up handling of clone() argument order
Linux manages to have three separate orderings of the arguments to the clone() syscall on different architectures. In the kernel these are sel
linux-user: Clean up handling of clone() argument order
Linux manages to have three separate orderings of the arguments to the clone() syscall on different architectures. In the kernel these are selected via CONFIG_CLONE_BACKWARDS and CONFIG_CLONE_BACKWARDS2. Clean up our implementation of this to use similar #define names rather than a TARGET_* ifdef ladder.
This includes behaviour changes fixing bugs on cris, x86-64, m68k, openrisc and unicore32. cris had explicit but wrong handling; the others were just incorrectly using QEMU's default, which happened to be the equivalent of CONFIG_CLONE_BACKWARDS. (unicore32 appears to be broken in the mainline kernel in that it tries to use arg3 for both parent_tidptr and newtls simultaneously -- we don't attempt to emulate this bug...)
Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
show more ...
|