From patchwork Wed May 9 23:11:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911213 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hBwF4stLz9s34 for ; Thu, 10 May 2018 09:12:45 +1000 (AEST) Received: from localhost ([::1]:59393 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYGJ-00086k-91 for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:12:43 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35028) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFh-00084y-7j for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFd-0002qd-1F for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:05 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:47623) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFc-0002pp-OB for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:00 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0Lsi1h-1eIr8i3CBd-012Hxf; Thu, 10 May 2018 01:11:37 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:18 +0200 Message-Id: <20180509231123.20864-2-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:GbT5Oexyz9Kh9LmPndv687gZCxd1h/Ke77kl4GwFoUhAX5GsYfZ 7Bnb7glgbMTad6RiwLIoRMAhwyk77asmoBN/xs0VvtxU5CMdFttGucqzQH4r2ApeAaUNOA0 Nv7OAIY7d17axfGS6RSiu4qLD6TR8/FEsHj5dPU+0qz/+Nrzk2S5yHNVYCgVA5ij8tMi7bD iVsTOOfyBP3+4XSNs25Dg== X-UI-Out-Filterresults: notjunk:1; V01:K0:TW0KLNOowfg=:HmKmhs/PBsNbI1jHMmFIs3 60UquX+pCYOYQYuJ5rnUnc1/X8PyTklaz6ZeMBf+2vK1B0+WZHFo2S9500Nqb449QVMNlJrPg jr3Djh6Km9XHjhyWbxWt1Xl7614ttWfYKZX24FzfqEhGVAJYGh1zI4F0keIB+I5liS/yOKzZX wKk0PjmPFSRw/2FxADjvulwbialNiP9l2JRW2uHzFJDmStLP9dw8zw5BYG4xGfRdX+0IcjtZ0 YD5V6muQUeTF8MeuvyWYNUUU1TKe4N/oYqvN+dHHCoum+J/eg+kPxYRaYEqP7P6ZnluNvt21q ZHEwk+D1+zoLdYUQJlI0ZU6+ipSLQ3OZNSIitQexEzDkSjLTKZDvmGWvlEfHzyi2++GoGnAw1 /TUkzDasdCuqfvsWnw6pf0ACx7Vwi8lFybqgYsiroEF8ZTwMqXU3C9r2Wt2Te20LF46Glqhpe tjywsV8DfNVBuJ082ezejKZsjc96lbtvTNQ4V1sG4t+y2U+OJd2KRoHIuRotb+1y3x9M76uDT 6P6iaJGdZPNw9WBs2qe8cTWvGN1k6igXxDJzrR+0ZKit5nvl+bKQ8aYYQD4Zm5rKRz+vOw3hz sgxeVq8f66dCIQXABVtpjJYU5oHhJ7MYS30tTT9qXpLmAxQiB+2zJnYD5hiEvBvbrZwbG0agS TG2P27s9QhaAyqdlWpLz8Sc6WBnZO9Dht2pKd5qYTLEIXq2cuLKERFW2MdK1hdblZzlE= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 Subject: [Qemu-devel] [PATCH v2 1/6] linux-user: define correct fcntl() values for sparc X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Laurent Vivier Reviewed-by: Max Filippov --- linux-user/syscall_defs.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index 361bb83a29..ec3f561685 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2441,6 +2441,15 @@ struct target_statfs64 { #define TARGET_F_SETLKW 7 #define TARGET_F_GETOWN 11 /* for sockets. */ #define TARGET_F_SETOWN 12 /* for sockets. */ +#elif defined(TARGET_SPARC) +#define TARGET_F_RDLCK 1 +#define TARGET_F_WRLCK 2 +#define TARGET_F_UNLCK 3 +#define TARGET_F_GETOWN 5 /* for sockets. */ +#define TARGET_F_SETOWN 6 /* for sockets. */ +#define TARGET_F_GETLK 7 +#define TARGET_F_SETLK 8 +#define TARGET_F_SETLKW 9 #else #define TARGET_F_GETLK 5 #define TARGET_F_SETLK 6 From patchwork Wed May 9 23:11:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911215 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hByr3XpNz9s34 for ; Thu, 10 May 2018 09:15:00 +1000 (AEST) Received: from localhost ([::1]:59405 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYIU-0001p1-30 for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:14:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34997) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFe-00082Y-CP for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFa-0002oo-Ne for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:02 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:49815) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFa-0002nr-Da for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:58 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MLOsc-1fG0HQ1O2k-000aFg; Thu, 10 May 2018 01:11:38 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:19 +0200 Message-Id: <20180509231123.20864-3-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:oUYZRzdGf9a6J+qoku/TljNnm5Hl/K3IGM7SfJY3YKHs/nkOEd6 WRLtK2U6ik+G6bVm/aPfeInOwyXMlYw+P/aPjTwxfrDWqp5Uv2d1yELjmwhrP1h2EJB/di0 aGz/vIOYFKKASabLyr5MrsBbS9Qw2VuwtiW9ezS9ToiZTdahHhoMJwRamNmqBejQT4qxx8A RHD8CsL8W165sGZhRNQsA== X-UI-Out-Filterresults: notjunk:1; V01:K0:nnORT89IdjQ=:n9I00EQhvYvSMkATWZ4KNM pw3ky1q/znUgE81JazICtQH1LX0yApyJbNVfoDDxlJKCGJtrFQWdpq+jiv06mtYRak0RHuXnh 3N3cVGdVippB0y10zdoWIKD7h4cqwLzf0xtGXKsDjmRi/a2ZJreO+uOsRvLPPC6DXo62M8JtI tfrZ8Evy6BNoO2MciKNqdmp5rsD7Ng5awnh9GeR7R4y4QeCKGl5X32pNPn6Z2LbYTopoVT1Wr J2jYUJpOKpO70jbhPb7IjhPjQvrEqF5yzrS7OWhzp+1ieHiLY3h5y6Ek5jRX2IIT/+qQ/HrcY ENm5xf66TGbpDPmz4QwRUCGgOTCb5XgfFxq8fKxiA46Vc3LPm4M2c/Qao5+tHQYZSXYnxwkij q9mCpD2qtaxmD/R5Y/m74+Xot4iUndqxdwMaTMtLXNgeBHC9CI/zLqJPQtI6mojCMSKQetGmQ cZGom8QaHkMgUVfuIS0EXykKws0Pl5zRN1aVGdvyn+RspkKCENYWNZ41W6K8cuqgHO7axW2UA SrgKt44Co1u4fvXXhrRfiC36ouCgB5RYZQO2f4msUnPATUvwnw/Oqw2eV9+qSDv5ZDWiaqbBZ TJvucuHDqeeZS4EOeLXg2hdPkDwPX0rjsVDlJGMSNUTV6g18qnvkM6+nYomrdTTXtSYwmwYU9 IwF7RUpdw7jIlXst125AP3i0C1mZG9foDzZXivx248Ex24ab38tHrk/qFiGVQvzX8hzM= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.75 Subject: [Qemu-devel] [PATCH v2 2/6] linux-user: fix flock/flock64 padding X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" include/uapi/asm-generic/fcntl.h insert a padding macro at the end of the structures flock and flock64. This macro is defined to "short __unused;" on sparc, and "long pad[4]" on mips. Signed-off-by: Laurent Vivier Reviewed-by: Max Filippov --- linux-user/syscall_defs.h | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h index ec3f561685..e4cd87cc00 100644 --- a/linux-user/syscall_defs.h +++ b/linux-user/syscall_defs.h @@ -2643,6 +2643,17 @@ struct target_statfs64 { #define TARGET_O_SYNC (TARGET___O_SYNC | TARGET_O_DSYNC) #endif +#if defined(TARGET_SPARC) +#define TARGET_ARCH_FLOCK_PAD abi_short __unused; +#define TARGET_ARCH_FLOCK64_PAD abi_short __unused; +#elif defined(TARGET_MIPS) +#define TARGET_ARCH_FLOCK_PAD abi_long pad[4]; +#define TARGET_ARCH_FLOCK64_PAD +#else +#define TARGET_ARCH_FLOCK_PAD +#define TARGET_ARCH_FLOCK64_PAD +#endif + struct target_flock { short l_type; short l_whence; @@ -2652,9 +2663,7 @@ struct target_flock { abi_long l_sysid; #endif int l_pid; -#if defined(TARGET_MIPS) - abi_long pad[4]; -#endif + TARGET_ARCH_FLOCK_PAD }; struct target_flock64 { @@ -2663,6 +2672,7 @@ struct target_flock64 { abi_llong l_start; abi_llong l_len; abi_int l_pid; + TARGET_ARCH_FLOCK64_PAD }; struct target_f_owner_ex { From patchwork Wed May 9 23:11:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911214 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hByh5C6yz9s34 for ; Thu, 10 May 2018 09:14:52 +1000 (AEST) Received: from localhost ([::1]:59402 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYIM-0001am-DN for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:14:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34921) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFY-0007z6-Py for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFU-0002fw-Lc for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:56 -0400 Received: from mout.kundenserver.de ([212.227.17.10]:46353) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFU-0002e5-9a for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:52 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0LwZNH-1eF1vR3kUR-018MEL; Thu, 10 May 2018 01:11:39 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:20 +0200 Message-Id: <20180509231123.20864-4-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:Mvfg26EVAxuk66Wu1lu6YEu14vQ7HnBH8liSUEN7emM+lQsqUhK OFN1mwOxMmzICqD/8tg5W06Ux65ryIj9irycelPiNcJ1HsCO1ABz2gLnwAIjDkDMQa3qROo qwAuuyuwXwRqhEYd73Vp9PhhR5ebEseihhJci06XmvJy7dfizNUwf/Xa+6Qs9z9Kn5ml+39 ft3JbysIAUX+3NUcY8tSQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:jO1DES5sMe0=:LFyZ64pqIKZiQjJVAbuaTl uhq+u1D4xbunCQPdyhbeo8Nz+OfFmsJB2Q5FRJ7zXMnkzbPtFLY/tSvJ0qPzpoiaRa9w//fkV GUkvTgPiobf7Xd228VLE4gYQ/+WuvN1AxvXmOwTjDrMMI3vyKAJjqZ0tkDIGkjg3bSbL2R4l1 XDe4A3fYAJj88PHe1wqRbn+MM/form/7vSn62vVPCR62hlm8wEvI0kXV3ZlyyBcW5l/4yUaJE BDQbZVB9uT7RNzGKgrJ/OrXLfeDY0Eoc7qgHs98nv6hduuyUYlE7urbrWCZpZRGR+uQGhA147 53k64hbIaAouqOy7VmIvYvm4sxkoKASSCHREIFamRtAAdb7rW/2cQElSSsy+q2tza4uc+ow3v hjrnUANgVak+yYH7xj0y7jGfXQ2SerpOFdoW93o+6A1IH21HHcDmaj9gOO1IJZo+hrQNas/z5 /9+KghiplpDCkv23Mk7oXJRj+uquOszG0dN4ohlThp/QHP++AIiclh5+NZPhoa/YQ6xaRJK0u swd+j6P51Txbob5eYdMtJ7+GpTDxG1hdhvn0qvRH3NfmLhQf3ajlrgRY8inLfsrdER5uKAH0T AeJYQt7Xm7zTgP1Ho+HyW4L+OB8VwsMhaiLQ5jvKiA+NBLB7mSwA9biH8y91FJEvdCEdeioqY OpYJcv4D6KiRDXLkdXXKPJhGfhYSlbXm5oDrU8iZGCQa0kWCM6GMeGBUW5jiWFoFkesw= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.10 Subject: [Qemu-devel] [PATCH v2 3/6] linux-user: update sparc/syscall_nr.h to linux header 4.16 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" And kill sys_aplib, add sys_sync_file_range: on sparc, since linux 2.6.17, aplib syscall has been replaced by sync_file_range syscall. (289eee6fa78e ["SPARC]: Wire up sys_sync_file_range() into syscall tables.") The syscall has been removed in linux v2.5.71 (6196166fad "[SPARC64]: Kill sys_aplib.") Signed-off-by: Laurent Vivier Reviewed-by: Max Filippov --- linux-user/sparc/syscall_nr.h | 32 +++++++++++++++++++++++++++++++- linux-user/sparc64/syscall_nr.h | 20 ++++++++++++-------- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/linux-user/sparc/syscall_nr.h b/linux-user/sparc/syscall_nr.h index e713c9d5f4..2d77e19bec 100644 --- a/linux-user/sparc/syscall_nr.h +++ b/linux-user/sparc/syscall_nr.h @@ -22,6 +22,7 @@ #define TARGET_NR_capset 22 /* Linux Specific */ #define TARGET_NR_setuid 23 /* Implemented via setreuid in SunOS */ #define TARGET_NR_getuid 24 /* Common */ +#define TARGET_NR_vmsplice 25 #define TARGET_NR_ptrace 26 /* Common */ #define TARGET_NR_alarm 27 /* Implemented via setitimer in SunOS */ #define TARGET_NR_sigaltstack 28 /* Common */ @@ -135,6 +136,7 @@ #define TARGET_NR_rmdir 137 /* Common */ #define TARGET_NR_utimes 138 /* SunOS Specific */ #define TARGET_NR_stat64 139 /* Linux sparc32 Specific */ +#define TARGET_NR_sendfile64 140 #define TARGET_NR_getpeername 141 /* Common */ #define TARGET_NR_futex 142 /* gethostid under SunOS */ #define TARGET_NR_gettid 143 /* ENOSYS under SunOS */ @@ -145,29 +147,51 @@ #define TARGET_NR_pciconfig_read 148 /* ENOSYS under SunOS */ #define TARGET_NR_pciconfig_write 149 /* ENOSYS under SunOS */ #define TARGET_NR_getsockname 150 /* Common */ +#define TARGET_NR_inotify_init 151 +#define TARGET_NR_inotify_add_watch 152 #define TARGET_NR_poll 153 /* Common */ #define TARGET_NR_getdents64 154 /* Linux specific */ #define TARGET_NR_fcntl64 155 /* Linux sparc32 Specific */ +#define TARGET_NR_inotify_rm_watch 156 #define TARGET_NR_statfs 157 /* Common */ #define TARGET_NR_fstatfs 158 /* Common */ #define TARGET_NR_umount 159 /* Common */ +#define TARGET_NR_sched_set_affinity 160 +#define TARGET_NR_sched_get_affinity 161 #define TARGET_NR_getdomainname 162 /* SunOS Specific */ #define TARGET_NR_setdomainname 163 /* Common */ #define TARGET_NR_quotactl 165 /* Common */ #define TARGET_NR_set_tid_address 166 /* Linux specific, exportfs under SunOS */ #define TARGET_NR_mount 167 /* Common */ #define TARGET_NR_ustat 168 /* Common */ +#define TARGET_NR_setxattr 169 +#define TARGET_NR_lsetxattr 170 +#define TARGET_NR_fsetxattr 171 +#define TARGET_NR_getxattr 172 +#define TARGET_NR_lgetxattr 173 #define TARGET_NR_getdents 174 /* Common */ #define TARGET_NR_setsid 175 /* Common */ #define TARGET_NR_fchdir 176 /* Common */ +#define TARGET_NR_fgetxattr 177 +#define TARGET_NR_listxattr 178 +#define TARGET_NR_llistxattr 179 +#define TARGET_NR_flistxattr 180 +#define TARGET_NR_removexattr 181 +#define TARGET_NR_lremovexattr 182 #define TARGET_NR_sigpending 183 /* Common */ #define TARGET_NR_query_module 184 /* Linux Specific */ #define TARGET_NR_setpgid 185 /* Common */ +#define TARGET_NR_fremovexattr 186 #define TARGET_NR_tkill 187 /* SunOS: fpathconf */ #define TARGET_NR_exit_group 188 /* Linux specific, sysconf undef SunOS */ #define TARGET_NR_uname 189 /* Linux Specific */ #define TARGET_NR_init_module 190 /* Linux Specific */ #define TARGET_NR_personality 191 /* Linux Specific */ +#define TARGET_NR_remap_file_pages 192 +#define TARGET_NR_epoll_create 193 +#define TARGET_NR_epoll_ctl 194 +#define TARGET_NR_epoll_wait 195 +#define TARGET_NR_ioprio_set 196 #define TARGET_NR_getppid 197 /* Linux Specific */ #define TARGET_NR_sigaction 198 /* Linux Specific */ #define TARGET_NR_sgetmask 199 /* Linux Specific */ @@ -189,6 +213,7 @@ #define TARGET_NR_ipc 215 /* Linux Specific */ #define TARGET_NR_sigreturn 216 /* Linux Specific */ #define TARGET_NR_clone 217 /* Linux Specific */ +#define TARGET_NR_ioprio_get 218 #define TARGET_NR_adjtimex 219 /* Linux Specific */ #define TARGET_NR_sigprocmask 220 /* Linux Specific */ #define TARGET_NR_create_module 221 /* Linux Specific */ @@ -202,6 +227,7 @@ #define TARGET_NR_setfsgid 229 /* Linux Specific */ #define TARGET_NR__newselect 230 /* Linux Specific */ #define TARGET_NR_time 231 /* Linux Specific */ +#define TARGET_NR_splice 232 #define TARGET_NR_stime 233 /* Linux Specific */ #define TARGET_NR_statfs64 234 /* Linux Specific */ #define TARGET_NR_fstatfs64 235 /* Linux Specific */ @@ -224,7 +250,7 @@ #define TARGET_NR_getsid 252 #define TARGET_NR_fdatasync 253 #define TARGET_NR_nfsservctl 254 -#define TARGET_NR_aplib 255 +#define TARGET_NR_sync_file_range 255 #define TARGET_NR_clock_settime 256 #define TARGET_NR_clock_gettime 257 #define TARGET_NR_clock_getres 258 @@ -326,3 +352,7 @@ #define TARGET_NR_listen 354 #define TARGET_NR_setsockopt 355 #define TARGET_NR_mlock2 356 +#define TARGET_NR_copy_file_range 357 +#define TARGET_NR_preadv2 358 +#define TARGET_NR_pwritev2 359 +#define TARGET_NR_statx 360 diff --git a/linux-user/sparc64/syscall_nr.h b/linux-user/sparc64/syscall_nr.h index 2b49ead267..9391645598 100644 --- a/linux-user/sparc64/syscall_nr.h +++ b/linux-user/sparc64/syscall_nr.h @@ -23,7 +23,7 @@ #define TARGET_NR_capset 22 /* Linux Specific */ #define TARGET_NR_setuid 23 /* Implemented via setreuid in SunOS */ #define TARGET_NR_getuid 24 /* Common */ -/* #define TARGET_NR_time alias 25 ENOSYS under SunOS */ +#define TARGET_NR_vmsplice 25 #define TARGET_NR_ptrace 26 /* Common */ #define TARGET_NR_alarm 27 /* Implemented via setitimer in SunOS */ #define TARGET_NR_sigaltstack 28 /* Common */ @@ -149,8 +149,8 @@ #define TARGET_NR_pciconfig_read 148 /* ENOSYS under SunOS */ #define TARGET_NR_pciconfig_write 149 /* ENOSYS under SunOS */ #define TARGET_NR_getsockname 150 /* Common */ -/* #define TARGET_NR_getmsg 151 SunOS Specific */ -/* #define TARGET_NR_putmsg 152 SunOS Specific */ +#define TARGET_NR_inotify_init 151 +#define TARGET_NR_inotify_add_watch 152 #define TARGET_NR_poll 153 /* Common */ #define TARGET_NR_getdents64 154 /* Linux specific */ #define TARGET_NR_fcntl64 155 /* Linux sparc32 Specific */ @@ -194,7 +194,7 @@ #define TARGET_NR_epoll_create 193 /* Linux Specific */ #define TARGET_NR_epoll_ctl 194 /* Linux Specific */ #define TARGET_NR_epoll_wait 195 /* Linux Specific */ -/* #define TARGET_NR_ulimit 196 Linux Specific */ +#define TARGET_NR_ioprio_set 196 #define TARGET_NR_getppid 197 /* Linux Specific */ #define TARGET_NR_sigaction 198 /* Linux Specific */ #define TARGET_NR_sgetmask 199 /* Linux Specific */ @@ -216,7 +216,7 @@ #define TARGET_NR_ipc 215 /* Linux Specific */ #define TARGET_NR_sigreturn 216 /* Linux Specific */ #define TARGET_NR_clone 217 /* Linux Specific */ -/* #define TARGET_NR_modify_ldt 218 Linux Specific - i386 specific, unused */ +#define TARGET_NR_ioprio_get 218 #define TARGET_NR_adjtimex 219 /* Linux Specific */ #define TARGET_NR_sigprocmask 220 /* Linux Specific */ #define TARGET_NR_create_module 221 /* Linux Specific */ @@ -230,7 +230,7 @@ #define TARGET_NR_setfsgid 229 /* Linux Specific */ #define TARGET_NR__newselect 230 /* Linux Specific */ #define TARGET_NR_time 231 /* Linux sparc32 */ -/* #define TARGET_NR_oldstat 232 Linux Specific */ +#define TARGET_NR_splice 232 #define TARGET_NR_stime 233 /* Linux Specific */ #define TARGET_NR_statfs64 234 /* Linux Specific */ #define TARGET_NR_fstatfs64 235 /* Linux Specific */ @@ -253,7 +253,7 @@ #define TARGET_NR_getsid 252 #define TARGET_NR_fdatasync 253 #define TARGET_NR_nfsservctl 254 -#define TARGET_NR_aplib 255 +#define TARGET_NR_sync_file_range 255 #define TARGET_NR_clock_settime 256 #define TARGET_NR_clock_gettime 257 #define TARGET_NR_clock_getres 258 @@ -310,7 +310,7 @@ #define TARGET_NR_epoll_pwait 309 #define TARGET_NR_utimensat 310 #define TARGET_NR_signalfd 311 -#define TARGET_NR_timerfd 312 +#define TARGET_NR_timerfd_create 312 #define TARGET_NR_eventfd 313 #define TARGET_NR_fallocate 314 #define TARGET_NR_timerfd_settime 315 @@ -355,3 +355,7 @@ #define TARGET_NR_listen 354 #define TARGET_NR_setsockopt 355 #define TARGET_NR_mlock2 356 +#define TARGET_NR_copy_file_range 357 +#define TARGET_NR_preadv2 358 +#define TARGET_NR_pwritev2 359 +#define TARGET_NR_statx 360 From patchwork Wed May 9 23:11:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911211 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hBw32yLJz9s37 for ; Thu, 10 May 2018 09:12:33 +1000 (AEST) Received: from localhost ([::1]:59391 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYG7-0007zc-40 for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:12:31 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34918) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFY-0007z5-Jk for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFV-0002gR-B6 for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:56 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:50289) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFV-0002dz-26 for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:53 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MXovv-1em9kq2OsJ-00WoUT; Thu, 10 May 2018 01:11:39 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:21 +0200 Message-Id: <20180509231123.20864-5-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:qSpJCSLtRcyAAGFTYG7jZM24vozLR3/CbFpwNUgQJeM3WA3/PVB 4ZLq5t/pZLwKcoKOERGHnBCmPAMtQmjZanvB3Ffrt5SU/+xGGVecYMDpBBeqW9uG1YMlUb4 szambG3Pc4vtfkQJ+rf4oQkFLUJwcw/XvREjGkiUtV0u83zQ5y6wJdQSerL/CfVElTIReaU f2A+U1LYCO0uzNBY+0lwA== X-UI-Out-Filterresults: notjunk:1; V01:K0:0mmocp2ne+g=:8wECR9kCeso6pAddRG4ysC afAdnOaVUG4qM64g2u+A2X3NtB8p/fvmpaUu4nvcEkSVKmxPETSDX0CH3e5v2JTwA+hMZi4KC PKJUw+M1CAogR3rA14P7n/fpPi0x+jmlw7IYYiqa83B2hPqhWwjXlp2fiNj5fl121D87rg2ma ifCiQ8ZYRpvf4m+Np03wknWrg/HhLxKucy85ZWCmE1UA4GR/gg7brBUk7ERyyOBRKAiKvb3w2 bBs21+mwi6w2Jc5HdZ4FIwVI+tsnXJCQYxTQSMocgbmho664Hb5VhKwrhEE2wU6cg27JUbfES aBx4F6m34Zdi/zorgKTfmDY8tgCTLltqJ41UB7obhNSgz4z0x1iRNvxCNRJ47Xp4v5pAdi47G Mlv8WNEUh++VunZSKPS6cdV9JoFZfY5N0UmBWEfq2koRf7F3aR7WC7vgTDdvijiF9WYlLIP9c LYD/BXY3c5A5KmRta0UR7shG6uTHdTYyZ2cAyTvCoHVqopjtofiWccW2UPw4M3vC2Z6s0PzH3 Us3PT1eF3JnHkGHPIP/PU7gjFrPZS1xakiJGOt2ViDISd8z2iApecKKCE21NLJw8i5goxCMDU QgOecSbVSlbia3F0nmOfRv8EU91HkjtawShdSqOE2LVKUOVntxsgTXGQizLlcBb44S4k5iGVg 1uZ3O7RAFRPv8JCT+ivvRrf4DGYWEZ7fJdjrfNKqwvCiootW6ztvVCnbIalMaKZ+ANIw= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PATCH v2 4/6] linux-user: fix conversion of flock/flock64 l_type field X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" As l_type values (F_RDLCK, F_WRLCK, F_UNLCK, F_EXLCK, F_SHLCK) are not bitmasks, we can't use target_to_host_bitmask() and host_to_target_bitmask() to convert them. Introduce target_to_host_flock() and host_to_target_flock() to convert values between host and target. Signed-off-by: Laurent Vivier Reviewed-by: Max Filippov --- Notes: v2: - add common switch macro to convert to/from target to/from host - return -TARGET_EINVAL is l_type cannot be converted linux-user/syscall.c | 66 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 18 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index e4825747f9..af8603f1b7 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -6546,28 +6546,50 @@ static int target_to_host_fcntl_cmd(int cmd) return -TARGET_EINVAL; } -#define TRANSTBL_CONVERT(a) { -1, TARGET_##a, -1, a } -static const bitmask_transtbl flock_tbl[] = { - TRANSTBL_CONVERT(F_RDLCK), - TRANSTBL_CONVERT(F_WRLCK), - TRANSTBL_CONVERT(F_UNLCK), - TRANSTBL_CONVERT(F_EXLCK), - TRANSTBL_CONVERT(F_SHLCK), - { 0, 0, 0, 0 } -}; +#define FLOCK_TRANSTBL \ + switch (type) { \ + TRANSTBL_CONVERT(F_RDLCK); \ + TRANSTBL_CONVERT(F_WRLCK); \ + TRANSTBL_CONVERT(F_UNLCK); \ + TRANSTBL_CONVERT(F_EXLCK); \ + TRANSTBL_CONVERT(F_SHLCK); \ + } + +static int target_to_host_flock(int type) +{ +#define TRANSTBL_CONVERT(a) case TARGET_##a: return a + FLOCK_TRANSTBL +#undef TRANSTBL_CONVERT + return -TARGET_EINVAL; +} + +static int host_to_target_flock(int type) +{ +#define TRANSTBL_CONVERT(a) case a: return TARGET_##a + FLOCK_TRANSTBL +#undef TRANSTBL_CONVERT + /* if we don't know how to convert the value coming + * from the host we copy to the target field as-is + */ + return type; +} static inline abi_long copy_from_user_flock(struct flock64 *fl, abi_ulong target_flock_addr) { struct target_flock *target_fl; - short l_type; + int l_type; if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { return -TARGET_EFAULT; } __get_user(l_type, &target_fl->l_type); - fl->l_type = target_to_host_bitmask(l_type, flock_tbl); + l_type = target_to_host_flock(l_type); + if (l_type < 0) { + return l_type; + } + fl->l_type = l_type; __get_user(fl->l_whence, &target_fl->l_whence); __get_user(fl->l_start, &target_fl->l_start); __get_user(fl->l_len, &target_fl->l_len); @@ -6586,7 +6608,7 @@ static inline abi_long copy_to_user_flock(abi_ulong target_flock_addr, return -TARGET_EFAULT; } - l_type = host_to_target_bitmask(fl->l_type, flock_tbl); + l_type = host_to_target_flock(fl->l_type); __put_user(l_type, &target_fl->l_type); __put_user(fl->l_whence, &target_fl->l_whence); __put_user(fl->l_start, &target_fl->l_start); @@ -6604,14 +6626,18 @@ static inline abi_long copy_from_user_oabi_flock64(struct flock64 *fl, abi_ulong target_flock_addr) { struct target_oabi_flock64 *target_fl; - short l_type; + int l_type; if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { return -TARGET_EFAULT; } __get_user(l_type, &target_fl->l_type); - fl->l_type = target_to_host_bitmask(l_type, flock_tbl); + l_type = target_to_host_flock(l_type); + if (l_type < 0) { + return l_type; + } + fl->l_type = l_type; __get_user(fl->l_whence, &target_fl->l_whence); __get_user(fl->l_start, &target_fl->l_start); __get_user(fl->l_len, &target_fl->l_len); @@ -6630,7 +6656,7 @@ static inline abi_long copy_to_user_oabi_flock64(abi_ulong target_flock_addr, return -TARGET_EFAULT; } - l_type = host_to_target_bitmask(fl->l_type, flock_tbl); + l_type = host_to_target_flock(fl->l_type); __put_user(l_type, &target_fl->l_type); __put_user(fl->l_whence, &target_fl->l_whence); __put_user(fl->l_start, &target_fl->l_start); @@ -6645,14 +6671,18 @@ static inline abi_long copy_from_user_flock64(struct flock64 *fl, abi_ulong target_flock_addr) { struct target_flock64 *target_fl; - short l_type; + int l_type; if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { return -TARGET_EFAULT; } __get_user(l_type, &target_fl->l_type); - fl->l_type = target_to_host_bitmask(l_type, flock_tbl); + l_type = target_to_host_flock(l_type); + if (l_type < 0) { + return l_type; + } + fl->l_type = l_type; __get_user(fl->l_whence, &target_fl->l_whence); __get_user(fl->l_start, &target_fl->l_start); __get_user(fl->l_len, &target_fl->l_len); @@ -6671,7 +6701,7 @@ static inline abi_long copy_to_user_flock64(abi_ulong target_flock_addr, return -TARGET_EFAULT; } - l_type = host_to_target_bitmask(fl->l_type, flock_tbl); + l_type = host_to_target_flock(fl->l_type); __put_user(l_type, &target_fl->l_type); __put_user(fl->l_whence, &target_fl->l_whence); __put_user(fl->l_start, &target_fl->l_start); From patchwork Wed May 9 23:11:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911217 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hC1Z39d0z9s34 for ; Thu, 10 May 2018 09:17:22 +1000 (AEST) Received: from localhost ([::1]:59417 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYKl-0004eL-Mq for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:17:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34980) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFc-000815-KJ for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFa-0002p2-SI for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:00 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:36839) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFa-0002o1-HI for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:58 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MHpa1-1fJae90hp7-003cmp; Thu, 10 May 2018 01:11:40 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:22 +0200 Message-Id: <20180509231123.20864-6-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:bklFncTMlVv2thtbjMMFsAnPlylYi61I8WywdIL6zWupXLAD1xx qECxFs3W8egkI1UpH7lDm6z/3R1Rmx3cv6foq1qdpVf396gS4ZZlWvupC/ILFvw+qCSOCzY h+0vSfbapciUOiIVmZoMeapK2YWxejixLGbOlCdDRyfBlMK71w7b/la4HZHRhbHwGmUROuB KfZ3x+3alTKgdRK3bWLSg== X-UI-Out-Filterresults: notjunk:1; V01:K0:PDxs6wtZgpo=:6rojKMSZf9NhG+CXWQ/6+X C321UnBM3l2PRN4TeJWH/0i1HK3ZmU3HorKyab3xROn3fmh5vc6SqEOx+85AMuQOdmKL7TYXX Olknrn+gfDPg1lLNDdPb6ZwcnnRdr8upmEMiaHXOXo2/AmIay6/4RscSay1R9FjEnakQKM+dG 7mLxVIfoexUUnhh5/bT9n1bNxmBpUmUDy238Vmd2k/OFeRKeuWs4839rO/9NGFkU6qEmhnRxL 6Y/Ct/rRVQbtuwZbKIwrbKNPfonjPaLELyd3GjOYFe2P+R3NKNr9BY/r3z3icOlGyvQ/jCPS3 jFi3VJVaTp9GLiBNE+wNq9gPZiJQfW7I/dJhuNg+8p/b5uJrbnA8HnCS2HUFs9gCZKuUIR64p 0r6N+lqIGijXBnF6CXg7xwE/RarPh+N5I8l8cGN8+4Jgtbp0+WJXeC6W8bJmwGUdJ3H/a5QW5 7YL/dEmxma9KXoDxO7QCrTTgxq6BMpYeWzoeIgxjO3pL6XrmErvELnIMQDyGAwHo6M1Fh8+Zf gLRF/jj50gF3AAYfbkMdzwVtvsnVt2jHPZDa5n+4mui0kwVlqUKSB4uiABTkjZ69O3GG2iw4Q d726ASsMFRAa2a4Y6+9XIxxuPlfOMGP2dttrZErt4zpMOaErzb2A9Eo3NohYTxtfv4kCWgo8y DgHZ4vRU4fVr55fb/mSMsPU+E6ZSvDsr1AgbZVAql8D38L1OkTHPo71+aQ8UVqQxMYuI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.73 Subject: [Qemu-devel] [PATCH v2 5/6] linux-user: add sparc/sparc64 specific errno X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Copied from linux/arch/sparc/include/uapi/asm/errno.h Signed-off-by: Laurent Vivier Reviewed-by: Max Filippov --- Notes: v2: - move sparc errno definitions to linux-user/sparc/target_errno.h linux-user/sparc/target_errno.h | 207 ++++++++++++++++++++++++++++++++++++ linux-user/sparc/target_syscall.h | 2 + linux-user/sparc64/target_syscall.h | 3 +- 3 files changed, 211 insertions(+), 1 deletion(-) create mode 100644 linux-user/sparc/target_errno.h diff --git a/linux-user/sparc/target_errno.h b/linux-user/sparc/target_errno.h new file mode 100644 index 0000000000..9b846899cd --- /dev/null +++ b/linux-user/sparc/target_errno.h @@ -0,0 +1,207 @@ +#ifndef SPARC_TARGET_ERRNO_H +#define SPARC_TARGET_ERRNO_H + +/* Target errno definitions taken from asm-sparc/errno.h */ +#undef TARGET_EWOULDBLOCK +#define TARGET_EWOULDBLOCK TARGET_EAGAIN /* Operation would block */ +#undef TARGET_EINPROGRESS +#define TARGET_EINPROGRESS 36 /* Operation now in progress */ +#undef TARGET_EALREADY +#define TARGET_EALREADY 37 /* Operation already in progress */ +#undef TARGET_ENOTSOCK +#define TARGET_ENOTSOCK 38 /* Socket operation on non-socket */ +#undef TARGET_EDESTADDRREQ +#define TARGET_EDESTADDRREQ 39 /* Destination address required */ +#undef TARGET_EMSGSIZE +#define TARGET_EMSGSIZE 40 /* Message too long */ +#undef TARGET_EPROTOTYPE +#define TARGET_EPROTOTYPE 41 /* Protocol wrong type for socket */ +#undef TARGET_ENOPROTOOPT +#define TARGET_ENOPROTOOPT 42 /* Protocol not available */ +#undef TARGET_EPROTONOSUPPORT +#define TARGET_EPROTONOSUPPORT 43 /* Protocol not supported */ +#undef TARGET_ESOCKTNOSUPPORT +#define TARGET_ESOCKTNOSUPPORT 44 /* Socket type not supported */ +#undef TARGET_EOPNOTSUPP +#define TARGET_EOPNOTSUPP 45 /* Op not supported on transport endpoint */ +#undef TARGET_EPFNOSUPPORT +#define TARGET_EPFNOSUPPORT 46 /* Protocol family not supported */ +#undef TARGET_EAFNOSUPPORT +#define TARGET_EAFNOSUPPORT 47 /* Address family not supported by protocol */ +#undef TARGET_EADDRINUSE +#define TARGET_EADDRINUSE 48 /* Address already in use */ +#undef TARGET_EADDRNOTAVAIL +#define TARGET_EADDRNOTAVAIL 49 /* Cannot assign requested address */ +#undef TARGET_ENETDOWN +#define TARGET_ENETDOWN 50 /* Network is down */ +#undef TARGET_ENETUNREACH +#define TARGET_ENETUNREACH 51 /* Network is unreachable */ +#undef TARGET_ENETRESET +#define TARGET_ENETRESET 52 /* Net dropped connection because of reset */ +#undef TARGET_ECONNABORTED +#define TARGET_ECONNABORTED 53 /* Software caused connection abort */ +#undef TARGET_ECONNRESET +#define TARGET_ECONNRESET 54 /* Connection reset by peer */ +#undef TARGET_ENOBUFS +#define TARGET_ENOBUFS 55 /* No buffer space available */ +#undef TARGET_EISCONN +#define TARGET_EISCONN 56 /* Transport endpoint is already connected */ +#undef TARGET_ENOTCONN +#define TARGET_ENOTCONN 57 /* Transport endpoint is not connected */ +#undef TARGET_ESHUTDOWN +#define TARGET_ESHUTDOWN 58 /* No send after transport endpoint shutdown*/ +#undef TARGET_ETOOMANYREFS +#define TARGET_ETOOMANYREFS 59 /* Too many references: cannot splice */ +#undef TARGET_ETIMEDOUT +#define TARGET_ETIMEDOUT 60 /* Connection timed out */ +#undef TARGET_ECONNREFUSED +#define TARGET_ECONNREFUSED 61 /* Connection refused */ +#undef TARGET_ELOOP +#define TARGET_ELOOP 62 /* Too many symbolic links encountered */ +#undef TARGET_ENAMETOOLONG +#define TARGET_ENAMETOOLONG 63 /* File name too long */ +#undef TARGET_EHOSTDOWN +#define TARGET_EHOSTDOWN 64 /* Host is down */ +#undef TARGET_EHOSTUNREACH +#define TARGET_EHOSTUNREACH 65 /* No route to host */ +#undef TARGET_ENOTEMPTY +#define TARGET_ENOTEMPTY 66 /* Directory not empty */ +#undef TARGET_EPROCLIM +#define TARGET_EPROCLIM 67 /* SUNOS: Too many processes */ +#undef TARGET_EUSERS +#define TARGET_EUSERS 68 /* Too many users */ +#undef TARGET_EDQUOT +#define TARGET_EDQUOT 69 /* Quota exceeded */ +#undef TARGET_ESTALE +#define TARGET_ESTALE 70 /* Stale file handle */ +#undef TARGET_EREMOTE +#define TARGET_EREMOTE 71 /* Object is remote */ +#undef TARGET_ENOSTR +#define TARGET_ENOSTR 72 /* Device not a stream */ +#undef TARGET_ETIME +#define TARGET_ETIME 73 /* Timer expired */ +#undef TARGET_ENOSR +#define TARGET_ENOSR 74 /* Out of streams resources */ +#undef TARGET_ENOMSG +#define TARGET_ENOMSG 75 /* No message of desired type */ +#undef TARGET_EBADMSG +#define TARGET_EBADMSG 76 /* Not a data message */ +#undef TARGET_EIDRM +#define TARGET_EIDRM 77 /* Identifier removed */ +#undef TARGET_EDEADLK +#define TARGET_EDEADLK 78 /* Resource deadlock would occur */ +#undef TARGET_ENOLCK +#define TARGET_ENOLCK 79 /* No record locks available */ +#undef TARGET_ENONET +#define TARGET_ENONET 80 /* Machine is not on the network */ +#undef TARGET_ERREMOTE +#define TARGET_ERREMOTE 81 /* SunOS: Too many lvls of remote in path */ +#undef TARGET_ENOLINK +#define TARGET_ENOLINK 82 /* Link has been severed */ +#undef TARGET_EADV +#define TARGET_EADV 83 /* Advertise error */ +#undef TARGET_ESRMNT +#define TARGET_ESRMNT 84 /* Srmount error */ +#undef TARGET_ECOMM +#define TARGET_ECOMM 85 /* Communication error on send */ +#undef TARGET_EPROTO +#define TARGET_EPROTO 86 /* Protocol error */ +#undef TARGET_EMULTIHOP +#define TARGET_EMULTIHOP 87 /* Multihop attempted */ +#undef TARGET_EDOTDOT +#define TARGET_EDOTDOT 88 /* RFS specific error */ +#undef TARGET_EREMCHG +#define TARGET_EREMCHG 89 /* Remote address changed */ +#undef TARGET_ENOSYS +#define TARGET_ENOSYS 90 /* Function not implemented */ +#undef TARGET_ESTRPIPE +#define TARGET_ESTRPIPE 91 /* Streams pipe error */ +#undef TARGET_EOVERFLOW +#define TARGET_EOVERFLOW 92 /* Value too large for defined data type */ +#undef TARGET_EBADFD +#define TARGET_EBADFD 93 /* File descriptor in bad state */ +#undef TARGET_ECHRNG +#define TARGET_ECHRNG 94 /* Channel number out of range */ +#undef TARGET_EL2NSYNC +#define TARGET_EL2NSYNC 95 /* Level 2 not synchronized */ +#undef TARGET_EL3HLT +#define TARGET_EL3HLT 96 /* Level 3 halted */ +#undef TARGET_EL3RST +#define TARGET_EL3RST 97 /* Level 3 reset */ +#undef TARGET_ELNRNG +#define TARGET_ELNRNG 98 /* Link number out of range */ +#undef TARGET_EUNATCH +#define TARGET_EUNATCH 99 /* Protocol driver not attached */ +#undef TARGET_ENOCSI +#define TARGET_ENOCSI 100 /* No CSI structure available */ +#undef TARGET_EL2HLT +#define TARGET_EL2HLT 101 /* Level 2 halted */ +#undef TARGET_EBADE +#define TARGET_EBADE 102 /* Invalid exchange */ +#undef TARGET_EBADR +#define TARGET_EBADR 103 /* Invalid request descriptor */ +#undef TARGET_EXFULL +#define TARGET_EXFULL 104 /* Exchange full */ +#undef TARGET_ENOANO +#define TARGET_ENOANO 105 /* No anode */ +#undef TARGET_EBADRQC +#define TARGET_EBADRQC 106 /* Invalid request code */ +#undef TARGET_EBADSLT +#define TARGET_EBADSLT 107 /* Invalid slot */ +#undef TARGET_EDEADLOCK +#define TARGET_EDEADLOCK 108 /* File locking deadlock error */ +#undef TARGET_EBFONT +#define TARGET_EBFONT 109 /* Bad font file format */ +#undef TARGET_ELIBEXEC +#define TARGET_ELIBEXEC 110 /* Cannot exec a shared library directly */ +#undef TARGET_ENODATA +#define TARGET_ENODATA 111 /* No data available */ +#undef TARGET_ELIBBAD +#define TARGET_ELIBBAD 112 /* Accessing a corrupted shared library */ +#undef TARGET_ENOPKG +#define TARGET_ENOPKG 113 /* Package not installed */ +#undef TARGET_ELIBACC +#define TARGET_ELIBACC 114 /* Can not access a needed shared library */ +#undef TARGET_ENOTUNIQ +#define TARGET_ENOTUNIQ 115 /* Name not unique on network */ +#undef TARGET_ERESTART +#define TARGET_ERESTART 116 /* Interrupted syscall should be restarted */ +#undef TARGET_EUCLEAN +#define TARGET_EUCLEAN 117 /* Structure needs cleaning */ +#undef TARGET_ENOTNAM +#define TARGET_ENOTNAM 118 /* Not a XENIX named type file */ +#undef TARGET_ENAVAIL +#define TARGET_ENAVAIL 119 /* No XENIX semaphores available */ +#undef TARGET_EISNAM +#define TARGET_EISNAM 120 /* Is a named type file */ +#undef TARGET_EREMOTEIO +#define TARGET_EREMOTEIO 121 /* Remote I/O error */ +#undef TARGET_EILSEQ +#define TARGET_EILSEQ 122 /* Illegal byte sequence */ +#undef TARGET_ELIBMAX +#define TARGET_ELIBMAX 123 /* Atmpt to link in too many shared libs */ +#undef TARGET_ELIBSCN +#define TARGET_ELIBSCN 124 /* .lib section in a.out corrupted */ +#undef TARGET_ENOMEDIUM +#define TARGET_ENOMEDIUM 125 /* No medium found */ +#undef TARGET_EMEDIUMTYPE +#define TARGET_EMEDIUMTYPE 126 /* Wrong medium type */ +#undef TARGET_ECANCELED +#define TARGET_ECANCELED 127 /* Operation Cancelled */ +#undef TARGET_ENOKEY +#define TARGET_ENOKEY 128 /* Required key not available */ +#undef TARGET_EKEYEXPIRED +#define TARGET_EKEYEXPIRED 129 /* Key has expired */ +#undef TARGET_EKEYREVOKED +#define TARGET_EKEYREVOKED 130 /* Key has been revoked */ +#undef TARGET_EKEYREJECTED +#define TARGET_EKEYREJECTED 131 /* Key was rejected by service */ +#undef TARGET_EOWNERDEAD +#define TARGET_EOWNERDEAD 132 /* Owner died */ +#undef TARGET_ENOTRECOVERABLE +#define TARGET_ENOTRECOVERABLE 133 /* State not recoverable */ +#undef TARGET_ERFKILL +#define TARGET_ERFKILL 134 /* Operation not possible due to RF-kill */ +#undef TARGET_EHWPOISON +#define TARGET_EHWPOISON 135 /* Memory page has hardware error */ +#endif diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h index 5f09abfe89..3725875fcf 100644 --- a/linux-user/sparc/target_syscall.h +++ b/linux-user/sparc/target_syscall.h @@ -1,6 +1,8 @@ #ifndef SPARC_TARGET_SYSCALL_H #define SPARC_TARGET_SYSCALL_H +#include "target_errno.h" + struct target_pt_regs { abi_ulong psr; abi_ulong pc; diff --git a/linux-user/sparc64/target_syscall.h b/linux-user/sparc64/target_syscall.h index 2cbbaaed1b..34f49df4a1 100644 --- a/linux-user/sparc64/target_syscall.h +++ b/linux-user/sparc64/target_syscall.h @@ -1,6 +1,8 @@ #ifndef SPARC64_TARGET_SYSCALL_H #define SPARC64_TARGET_SYSCALL_H +#include "../sparc/target_errno.h" + struct target_pt_regs { abi_ulong u_regs[16]; abi_ulong tstate; @@ -29,5 +31,4 @@ static inline abi_ulong target_shmlba(CPUSPARCState *env) { return MAX(TARGET_PAGE_SIZE, 16 * 1024); } - #endif /* SPARC64_TARGET_SYSCALL_H */ From patchwork Wed May 9 23:11:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 911216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 40hC0w2cFbz9s37 for ; Thu, 10 May 2018 09:16:48 +1000 (AEST) Received: from localhost ([::1]:59416 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYKE-0004IG-1s for incoming@patchwork.ozlabs.org; Wed, 09 May 2018 19:16:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34998) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fGYFe-00082Z-CP for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fGYFa-0002oZ-E3 for qemu-devel@nongnu.org; Wed, 09 May 2018 19:12:02 -0400 Received: from mout.kundenserver.de ([217.72.192.75]:52403) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fGYFa-0002nh-45 for qemu-devel@nongnu.org; Wed, 09 May 2018 19:11:58 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MaKQy-1f1EJg3aWG-00JuaM; Thu, 10 May 2018 01:11:41 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Thu, 10 May 2018 01:11:23 +0200 Message-Id: <20180509231123.20864-7-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180509231123.20864-1-laurent@vivier.eu> References: <20180509231123.20864-1-laurent@vivier.eu> X-Provags-ID: V03:K1:I3R8OI6CA4qozuuPLb6Db0DGEgbJQxLcJCEFmYdPCttZ4MstWwa QU2caaX7wNW2fR0K7YccS+tiy/9f+WjNKdUJMlhcZXPPrC4pK/+7V9AIAb2MsYMsQ0EeTV/ NQmBgmgABwYzBsTjW0vjXZCMnd5y3XCh1gnY9eeQInMzU3bgFPHyV/ossQEyVaQyRPHPCwI 1X6oD7IICu1emyQV/xVlw== X-UI-Out-Filterresults: notjunk:1; V01:K0:aU+sZGFbq4s=:pdLKV5CjRB9A2vliAvlF7P R3vjxwtTvnzmJvHDsUQNMZr3Em2x9XDOswnnbEgC+aQ43goQNyjrUAcq9h5mqaRiA+D5OHJDW y3FReIJUaIMqCsX+qKecJANmhIgRsxfHYL/AcTCht28mnlhqxS8f8yRNwkdyEWQbfmvArPR66 KG643vhjQTAp4sR8k+nyVParWnueIggPZmGpjvCR/xE1ZecPssnfUkPMxy1X1XEsYnustPrlL PXDLIqcEkci882e6f8GUfrYVXqNdWbSM/qsI8xNUSCiQ2l7IfyAJlhnmQZAhoeqoPmCVgZ8fK FjtyTf67DtzHSoy3qhuvQJG5pqBk5UHBqpEFFoBJ9OWCbn7FRIHsRga6pmuuXkPNT9pFxZa4m qCagDjGA0EFIBW7Q4PmnkSTShkhrUtzYtMQkE0jsh60MU3jS0558N91yMaMmWElveIEegKeYL u45Wxsbmcy2ukFVXEEhq7zJePctvZzNSQ+KpxQB4xsGid6Thwun4VmCqyOz6ed8H/k1kqP0vf gUS40cRm4aSvlQjUzMznv5TC2WVF9lVdbuuSBE00YN+zA4DsIK9pMRI9GoyxjhDwis5uEeB7w I4wltVYFJJ2zr2EWg3G39pHitsD9347Bkp7jtZfARVsLzBC9dxhsPXeYpokxZivvF6xUMQXqs YVOXCyO0cpXA9hPO9M9lwTArswppDdR2RqHRkZlLkRMm3p4hBAUAj6a1PsaH42gR7o14= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.75 Subject: [Qemu-devel] [PATCH v2 6/6] linux-user: fix UNAME_MACHINE for sparc/sparc64 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Max Filippov , Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" "sun4" is not recognized by config.guess. linux defines sparc and sparc64 in arch/sparc/Makefile. Signed-off-by: Laurent Vivier Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Max Filippov --- linux-user/sparc/target_syscall.h | 2 +- linux-user/sparc64/target_syscall.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/sparc/target_syscall.h b/linux-user/sparc/target_syscall.h index 3725875fcf..b9160a771b 100644 --- a/linux-user/sparc/target_syscall.h +++ b/linux-user/sparc/target_syscall.h @@ -11,7 +11,7 @@ struct target_pt_regs { abi_ulong u_regs[16]; }; -#define UNAME_MACHINE "sun4" +#define UNAME_MACHINE "sparc" #define UNAME_MINIMUM_RELEASE "2.6.32" /* SPARC kernels don't define this in their Kconfig, but they have the diff --git a/linux-user/sparc64/target_syscall.h b/linux-user/sparc64/target_syscall.h index 34f49df4a1..3073a23e03 100644 --- a/linux-user/sparc64/target_syscall.h +++ b/linux-user/sparc64/target_syscall.h @@ -12,7 +12,7 @@ struct target_pt_regs { abi_ulong fprs; }; -#define UNAME_MACHINE "sun4u" +#define UNAME_MACHINE "sparc64" #define UNAME_MINIMUM_RELEASE "2.6.32" /* SPARC kernels don't define this in their Kconfig, but they have the