aboutsummaryrefslogtreecommitdiff
path: root/linux-user/i386
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2016-07-08 01:17:27 +0200
committerRiku Voipio <riku.voipio@linaro.org>2016-09-22 07:24:21 +0300
commit5457dc9e37fe0a29989bd64306c63941074864ce (patch)
tree500f40acbc2b3e2e4401a037447d93904856c522 /linux-user/i386
parent45eafb4d32ced9ff1dcb3800c89f8beaf47b61cc (diff)
downloadqemu-5457dc9e37fe0a29989bd64306c63941074864ce.zip
qemu-5457dc9e37fe0a29989bd64306c63941074864ce.tar.gz
qemu-5457dc9e37fe0a29989bd64306c63941074864ce.tar.bz2
linux-user: fix TARGET_NR_select
TARGET_NR_select can have three different implementations: 1- to always return -ENOSYS microblaze, ppc, ppc64 -> TARGET_WANT_NI_OLD_SELECT 2- to take parameters from a structure pointed by arg1 (kernel sys_old_select) i386, arm, m68k -> TARGET_WANT_OLD_SYS_SELECT 3- to take parameters from arg[1-5] (kernel sys_select) x86_64, alpha, s390x, cris, sparc, sparc64 Some (new) architectures don't define NR_select, 4- but only NR__newselect with sys_select: mips, mips64, sh 5- don't define NR__newselect, and use pselect6 syscall: aarch64, openrisc, tilegx, unicore32 Reported-by: Timothy Pearson <tpearson@raptorengineering.com> Reported-by: Allan Wirth <awirth@akamai.com> Suggested-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu> Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/i386')
-rw-r--r--linux-user/i386/target_syscall.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/linux-user/i386/target_syscall.h b/linux-user/i386/target_syscall.h
index b4e895f..2854758 100644
--- a/linux-user/i386/target_syscall.h
+++ b/linux-user/i386/target_syscall.h
@@ -153,5 +153,6 @@ struct target_vm86plus_struct {
#define TARGET_MINSIGSTKSZ 2048
#define TARGET_MLOCKALL_MCL_CURRENT 1
#define TARGET_MLOCKALL_MCL_FUTURE 2
+#define TARGET_WANT_OLD_SYS_SELECT
#endif /* I386_TARGET_SYSCALL_H */