qemu-patch-raspberry4/linux-user
Laurent Vivier 524fa3408e linux-user: emulate msgsnd(), msgrcv() and semtimedop()
When we have updated kernel headers to 5.2-rc1 we have introduced
new syscall numbers that can be not supported by older kernels
and fail with ENOSYS while the guest emulation succeeded before
because the syscalls were emulated with ipc().

This patch fixes the problem by using ipc() if the new syscall
returns ENOSYS.

Fixes: 86e636951d ("linux-user: fix __NR_semtimedop undeclared error")
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20190529084804.25950-1-laurent@vivier.eu>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2019-06-24 22:59:14 +02:00
..
aarch64 Supply missing header guards 2019-06-12 13:20:21 +02:00
alpha Supply missing header guards 2019-06-12 13:20:21 +02:00
arm semihosting: split console_out into string and char versions 2019-06-12 17:53:22 +01:00
cris Supply missing header guards 2019-06-12 13:20:21 +02:00
generic linux-user: move generic signal definitions to generic/signal.h 2018-06-04 01:30:44 +02:00
host linux-user: Add safe_syscall for riscv64 host 2018-12-26 06:40:02 +11:00
hppa Supply missing header guards 2019-06-12 13:20:21 +02:00
i386 Supply missing header guards 2019-06-12 13:20:21 +02:00
m68k Supply missing header guards 2019-06-12 13:20:21 +02:00
microblaze Supply missing header guards 2019-06-12 13:20:21 +02:00
mips Supply missing header guards 2019-06-12 13:20:21 +02:00
mips64 Supply missing header guards 2019-06-12 13:20:21 +02:00
nios2 Supply missing header guards 2019-06-12 13:20:21 +02:00
openrisc Supply missing header guards 2019-06-12 13:20:21 +02:00
ppc Supply missing header guards 2019-06-12 13:20:21 +02:00
riscv Supply missing header guards 2019-06-12 13:20:21 +02:00
s390x Supply missing header guards 2019-06-12 13:20:21 +02:00
sh4 Supply missing header guards 2019-06-12 13:20:21 +02:00
sparc Supply missing header guards 2019-06-12 13:20:21 +02:00
sparc64 Supply missing header guards 2019-06-12 13:20:21 +02:00
tilegx Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
x86_64 Supply missing header guards 2019-06-12 13:20:21 +02:00
xtensa Supply missing header guards 2019-06-12 13:20:21 +02:00
cpu_loop-common.h cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
elfload.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
errno_defs.h Supply missing header guards 2019-06-12 13:20:21 +02:00
exit.c linux-user: fix GPROF build failure 2019-05-10 12:44:23 +02:00
fd-trans.c linux-user: add new netlink types 2019-03-07 11:02:33 +01:00
fd-trans.h linux-user: move TargetFdTrans functions to their own file 2018-09-25 22:36:47 +02:00
flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
flatload.c linux-user/flatload: fix initial stack pointer alignment 2018-10-30 11:23:32 -07:00
ioctls.h linux-user: Add support for SIOC<G|S>IFPFLAGS ioctls for all targets 2019-05-22 20:50:55 +02:00
linux_loop.h linux-user: Add loop control ioctls 2016-07-19 15:22:33 +03:00
linuxload.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
m68k-sim.c target/m68k: Use env_cpu 2019-06-10 07:03:42 -07:00
main.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Makefile.objs target/arm: use the common interface for WRITE0/WRITEC in arm-semi 2019-05-28 10:28:50 +01:00
mmap.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qemu.h linux-user: Fix shmat emulation by honoring host SHMLBA 2019-05-24 13:16:21 +02:00
safe-syscall.S linux-user: Provide safe_syscall for fixing races between signals and syscalls 2016-05-27 14:49:51 +03:00
signal-common.h linux-user: introduce target_sigsp() and target_save_altstack() 2018-05-03 18:29:15 +02:00
signal.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
socket.h Supply missing header guards 2019-06-12 13:20:21 +02:00
strace.c linux-user: Nicer strace output of chroot() syscall 2019-03-07 10:57:29 +01:00
strace.list linux-user: Nicer strace output of chroot() syscall 2019-03-07 10:57:29 +01:00
syscall.c linux-user: emulate msgsnd(), msgrcv() and semtimedop() 2019-06-24 22:59:14 +02:00
syscall_defs.h linux-user: emulate msgsnd(), msgrcv() and semtimedop() 2019-06-24 22:59:14 +02:00
syscall_types.h linux-user: Implement special usbfs ioctls. 2018-10-19 14:05:10 +02:00
target_flat.h Supply missing header guards 2019-06-12 13:20:21 +02:00
trace-events trace-events: Fix attribution of trace points to source 2019-03-22 16:18:07 +00:00
uaccess.c avoid TABs in files that only contain a few 2019-01-11 15:46:56 +01:00
uname.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
uname.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
vm86.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00