From e1be160691e1d64591c48c16b9a6f3901cee6cbf Mon Sep 17 00:00:00 2001 From: Aleksandar Markovic Date: Mon, 19 Sep 2016 13:44:38 +0200 Subject: linux-user: Fix TARGET_SIOCATMARK definition for Mips This patch fixes wrong definition of TARGET_SIOCATMARK for mips, alpha, and sh4. The current definition is: #define SIOCATMARK 0x8905 while the correct definition is: #define SIOCATMARK TARGET_IOR('s', 7, int) See Linux kernel source file arch/mips/include/uapi/asm/sockios.h#L19 for reference. This patch also a fixes LTP test failure for test sockioctl01, for mips, alpha, and sh4. Signed-off-by: Aleksandar Rikalo Signed-off-by: Aleksandar Markovic Reviewed-by: Laurent Vivier Reviewed-by: Leon Alrae Acked-by: Riku Voipio Signed-off-by: Leon Alrae --- linux-user/syscall_defs.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'linux-user/syscall_defs.h') diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 5c19c5ca19..d50878b58f 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -898,7 +898,11 @@ struct target_pollfd { #define TARGET_KDSETLED 0x4B32 /* set led state [lights, not flags] */ #define TARGET_KDSIGACCEPT 0x4B4E +#if defined(TARGET_ALPHA) || defined(TARGET_MIPS) || defined(TARGET_SH4) +#define TARGET_SIOCATMARK TARGET_IOR('s', 7, int) +#else #define TARGET_SIOCATMARK 0x8905 +#endif /* Networking ioctls */ #define TARGET_SIOCADDRT 0x890B /* add routing table entry */ -- cgit 1.4.1 From 3a87a954c84d036b1f6ceb95abbdc80cdc5d5b68 Mon Sep 17 00:00:00 2001 From: Aleksandar Markovic Date: Mon, 19 Sep 2016 13:44:39 +0200 Subject: linux-user: Fix TARGET_F_GETOWN definition for Mips For some reason, Qemu's TARGET_F_GETOWN constant for Mips does not match the correct value of correspondent F_GETOWN. This patch fixes this problem. For reference, see Mips' F_GETOWN definition in Linux kernel at arch/mips/include/uapi/asm/fcntl.h#L44. This patch also fixes some fcntl()-related LTP tests for Qemu user mode for Mips. Signed-off-by: Miodrag Dinic Signed-off-by: Aleksandar Markovic Reviewed-by: Laurent Vivier Reviewed-by: Leon Alrae Acked-by: Riku Voipio Signed-off-by: Leon Alrae --- linux-user/syscall_defs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'linux-user/syscall_defs.h') diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index d50878b58f..925feda6a6 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2164,7 +2164,7 @@ struct target_statfs64 { #define TARGET_F_SETLK 6 #define TARGET_F_SETLKW 7 #define TARGET_F_SETOWN 24 /* for sockets. */ -#define TARGET_F_GETOWN 25 /* for sockets. */ +#define TARGET_F_GETOWN 23 /* for sockets. */ #else #define TARGET_F_GETLK 5 #define TARGET_F_SETLK 6 -- cgit 1.4.1 From 8a8001b14728baacaa3491f7f723b92a7376e421 Mon Sep 17 00:00:00 2001 From: Aleksandar Markovic Date: Mon, 19 Sep 2016 13:44:40 +0200 Subject: linux-user: Fix structure target_flock definition for Mips Structure flock is defined for Mips in a way different from any other platform. For reference, see Linux kernel source code files: arch/mips/include/uapi/asm/fcntl.h, line 63 (for Mips) include/uapi/asm-generic/fcntl.h, line 195 (for all other platforms) This patch fix this problem, by amending structure target_flock, for Mips only. Besides, this patch fixes LTP tests fcntl11, fcntl17, fcntl19, fcntl20, and fcntl21, which are currently failing, if executed in Qemu user mode for Mips platforms. Signed-off-by: Aleksandar Markovic Reviewed-by: Laurent Vivier Reviewed-by: Leon Alrae Acked-by: Riku Voipio Signed-off-by: Leon Alrae --- linux-user/syscall_defs.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'linux-user/syscall_defs.h') diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 925feda6a6..9fdbe865dc 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2333,7 +2333,13 @@ struct target_flock { short l_whence; abi_long l_start; abi_long l_len; +#if defined(TARGET_MIPS) + abi_long l_sysid; +#endif int l_pid; +#if defined(TARGET_MIPS) + abi_long pad[4]; +#endif }; struct target_flock64 { -- cgit 1.4.1