Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755357AbbLAAkl (ORCPT ); Mon, 30 Nov 2015 19:40:41 -0500 Received: from mail-bn1on0076.outbound.protection.outlook.com ([157.56.110.76]:23296 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754890AbbLAAkj (ORCPT ); Mon, 30 Nov 2015 19:40:39 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Date: Tue, 1 Dec 2015 03:40:09 +0300 From: Yury Norov To: Arnd Bergmann CC: , , , , , , , , , , , , , , , , Subject: Re: [PATCH v6 14/19] arm64:ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it Message-ID: <20151201004009.GB23254@yury-N73SV> References: <1447795019-30176-1-git-send-email-ynorov@caviumnetworks.com> <2133692.Tueq9xZUPQ@wuerfel> <20151130202141.GA23254@yury-N73SV> <3463212.HtU7UeIULQ@wuerfel> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <3463212.HtU7UeIULQ@wuerfel> User-Agent: Mutt/1.5.23 (2014-03-12) X-Originating-IP: [95.143.213.120] X-ClientProxiedBy: HE1PR01CA0014.eurprd01.prod.exchangelabs.com (25.163.2.152) To BY2PR07MB613.namprd07.prod.outlook.com (10.141.222.144) X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB613;2:kZ7f2aiB9hqlK54xBOIc0xAyikNINSF0xsDogxvcWfmFO9ucZg016MxfrOPZcb+G4rFgXoc3k0o0trTkdC1fx39xvXYuQi2e+hr9Cj3JlyjnOOHpVqe5JkZwpS/CNpbdgJxCOjPtnrIdn0cIdx2QRQ==;3:OX347MlJft0zAYF8UETg3ol4EhXOMsHm+BXMMgDtveCa/66GbbUjUW+Eg4bYpMh4s/Yz4KDJ8CjcS7DPzOmNTqDLR6OLNAFRAHctiCpkEdR0VzUrLK5iHYlu1wqfRgae;25:AeY6qVtPNTNTljAz1kqqJUwhf93Bkk6YjevSu1IZFJZn21JtnmRB0d1nbUDcudGyamHMHSLFW4G5dl7AghqvbRWB5QMf0vb8vSbFd49RHlh938QQKdpqpj4zwCl6f/G47v2iXxg/b7uU9vT9r5EwVcRdMLiCwsRfYlKvAEjH3tS752dpfGyT1ByZ2Yuv99NMInWn8+liy7ukru5cAs+Ll3igBukUU9QOKE1SY28Jln6eNN6PbKz1EC4M/4txT9/zhvonlVHH7BMQj+GHmlEzgw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB613; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB613;20:ulbJdfGPvlNeNjhESCfO/2C0SG0kfk4o8rvTTPPICWb5gIJRdnUmp4NkwPyAuQ9NFOCUBIUTZYKFsBka2RiJHEPuE1QGbahyCakTObe/dQqU8brorPgDV3ptAl03h1sVnVfkKmEcB8xB25UOsSe2iodY8Wc1wrxDLd3EEIMSjiNrSLI4y/CqpSP4fqST3dzTrxJNPLOgep24UhDnBUfvU3DVSuKwSYEWIMriFlr3im/lUd2e2J31oQG4Ld7vH6QGc7q2qzi/6qipH28XC5iv389V5Ccd5xYkM7n36jJt1P54QPdfxqPCGxFZI7063srmI8ZunvT4S1KcTLLC0FHv6eP6UDzZcZcRtZo78ZhOpMBXJ+kjVoTReAGSKMSFf+e2UIaWIJBGhbtojgkAKSQdOd/sBeq1JXzNIoM0QiWlA0mRJsHJ31rpi5+xK1voFplaJZSwoImgHKQBKgy6AZeqlDjHyr/kp/E+BFEk/7dIsyE+EkZObAZqD7HtX4Wg9pAWwDR/L0x5GgQjjnwG7bWfNwGgEHJeJY8fHDB70DR5wPcX1emiVzQjiFDGQcEX0CyK07WPNVBzNruGZ9Ag5osLG/AlFhFmjdTJxvg40BO0m54= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(520078)(10201501046)(3002001);SRVR:BY2PR07MB613;BCL:0;PCL:0;RULEID:;SRVR:BY2PR07MB613; X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB613;4:LebU64swpA+F7u24y7exxQQiPcn7R5DDJbJnAkwkny/Ub+e/ONK1yhtZ7qkc/46eAz8r7FGqZI8x4f2YapR2dA463weOn7e5ynES8tfbH+nhhNOeYxMhQv4WXGsgsJXGpw2bMuGPGvS0CQQ3zE57bBLFm8XBrAT9PVjlrJP/dEa0APTsKjL9d7Xut9O0+tbITHb5Qj6GHJBt83Fek1YlsQAvWGbiKPGTWGYjF6lerttWll9jUMUrfIJqtOEPmKVV+Er6zcvYBpmU6vb50Vrvcg0K+G9f45zrRKH98JN/7sr0tfpWjktJlWQaSftJbLrLPKbbCWS59qjv7YEFvY9a0mUFMj1odRRb4lECslIOklucUGfF7Kr0Y28T2tWyU3Yz X-Forefront-PRVS: 07778E4001 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6069001)(6009001)(24454002)(51444003)(199003)(189002)(92566002)(42186005)(5008740100001)(97736004)(50466002)(5001960100002)(110136002)(189998001)(76506005)(1076002)(5004730100002)(106356001)(122386002)(50986999)(105586002)(33716001)(47776003)(101416001)(54356999)(87976001)(81156007)(66066001)(97756001)(46406003)(83506001)(2950100001)(93886004)(77096005)(40100003)(33656002)(3846002)(6116002)(1096002)(23726003)(586003)(76176999)(4001350100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR07MB613;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BY2PR07MB613;23:4JAr0tmgoAmgKgwscPusCpYiW0f2zUPhsLXXa2nKL3?= =?us-ascii?Q?qre1C0OVKvQxl9o32pQGJ+vnpBO2hRrKaTGnJ1uc+9lWRey4qJjxjSpIi1cr?= =?us-ascii?Q?fzjannpHLzDMIG/GAWt3aPbepkpRQrBuDHPHz+M3LyYkWSe6EwxW8XYRFgR0?= =?us-ascii?Q?FKovkCIhpa8i1xonT/ejani1/Dp8uhWbFyh2GMx3jCjm2AjmLLjvzjbng/v8?= =?us-ascii?Q?l4TGFE6bBNI3YOChiaoQGfAovX+KLkGWRlBqPW+J96COpjpoOqvuv8d274Bz?= =?us-ascii?Q?50zYMov8rwWOq8MX2e4zybRCr7EPw+m/5+Fmmi1BQo45symEz+bTIZWqxpKE?= =?us-ascii?Q?nEdezj1m6TsSc7yHHFv54vx5pqlQqwDymKEP28zp/1VzMF4z1UvY0SIP+32C?= =?us-ascii?Q?QkA2ftGRjMwkKQeAb4PcAsRNYq7sp5T0C4jm1JX7fET0jZI7qw5J+pIlH0oE?= =?us-ascii?Q?nyX2kklW6VTvd0ElLI0EriaJWn3N/GhWgxmJMSoVG79Hl2KFnpNqvlGxx4sO?= =?us-ascii?Q?CGsuezYbBYN/zO/7DmRdm3OiKPMDnWwPWZ0IeUFGNnWlBZ4aLKOyN5mlEZH1?= =?us-ascii?Q?7yS4kx40E90z9Gia0rOlQNBWB/1KLAQE9lvO8OpIYbUgMRdJADmkcgo2wbsC?= =?us-ascii?Q?FtNXLWIqP91fRoF1KWC5XxSejttEX+mUSk19hQVyj3tTCCdFQhkPLzwfuoRS?= =?us-ascii?Q?ztb5okqgeSjnxzndU/hRKtcysM5o0slpWKOrMrz18eF/L1TyhC6tFwH/Dp5g?= =?us-ascii?Q?Yvo79bLOMjJFZGVwIp93KS+czuTJUnduSX9/hgEc+Mjts9/pab1Ry1OSH5Dn?= =?us-ascii?Q?Fc2DUXUM/+Ng9C/pr3kUQphd5g7+EUTlK3a62ELiGcgaylwNPD+/SIlWakOs?= =?us-ascii?Q?lAIQT5xusEPBMjwxT2NddQfG4mm+gLUm5yJfHd0YADiaDD5g8oqtd/9Flx4g?= =?us-ascii?Q?jVjg7R1MT2Y804u/8lHMECB9Je36FnBAo1XVW3DfSYSc0memD8XUaYvG0VWZ?= =?us-ascii?Q?nwmOlHODB0jCSL0j29oNVFextkOE7V8i9RoHONiJY59zKYXEBKOzxk0yEEwA?= =?us-ascii?Q?PY4QmbIAPsPe67V00bdPZddlr+kaSRGOsJUaFVEyHlPn7tTeWebQzGOJvEvh?= =?us-ascii?Q?8D3PLHsm4=3D?= X-Microsoft-Exchange-Diagnostics: 1;BY2PR07MB613;5:fEnWOQxlH1hZiwDe6gJWlOkkY0jYrgSWvCPaTv2oiSjGBmsh334yhr9XkPCCmOz1/AqfuWpcNFa+QeOjR/8+A6BFyXsiebd2R4PyrjgrKqcBgz1dMDJXgFf5MWbKf9Z/IBQmV5J8km1VAOe5dHXSYA==;24:QHcXWTVW7Z66U3/RBDbr21JoNFICb4w2tPUgod0wUKRbYWIaJt7q7FViV00XpIVXMHawlb8GVbJSEChS9zUoIXoCiiTx8hHzEEUdY4p9XpM= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2015 00:40:35.2670 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR07MB613 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 8626 Lines: 298 On Mon, Nov 30, 2015 at 10:49:43PM +0100, Arnd Bergmann wrote: > > Could we try to get consensus on how the syscall ABI should look > before you start adapting glibc to another intermediate version? > I think that would also save you duplicate work, as it's always > possible that we misunderstand each other in the review. Also, > when someone asks you questions during a review, please reply to > those questions so we can get a common understanding of the facts > and document that in the mail archives. > > Arnd This is full syscall table for ILP32, how it looks right now. I collected all comments here and do rework according it. Any comments? BR, Yury. [0] = compat_sys_io_setup, [1] = sys_io_destroy, [2] = compat_sys_io_submit, [3] = sys_io_cancel, [4] = sys_io_getevents, wrong timespec_t and aio_context_t here [5] = sys_setxattr, [6] = sys_lsetxattr, [7] = sys_fsetxattr, [8] = sys_getxattr, [9] = sys_lgetxattr, [10] = sys_fgetxattr, [11] = sys_listxattr, [12] = sys_llistxattr, [13] = sys_flistxattr, [14] = sys_removexattr, [15] = sys_lremovexattr, [16] = sys_fremovexattr, [17] = sys_getcwd, [18] = sys_lookup_dcookie, [19] = sys_eventfd2, [20] = sys_epoll_create1, [21] = sys_epoll_ctl, [22] = sys_epoll_pwait, way round: takes sigset_t check BE [23] = sys_dup, [24] = sys_dup3, [25] = compat_sys_fcntl, uses compat_off_t, not compat_loff_t [26] = sys_inotify_init1, [27] = sys_inotify_add_watch, [28] = sys_inotify_rm_watch, [29] = compat_sys_ioctl, [30] = sys_ioprio_set, [31] = sys_ioprio_get, [32] = sys_flock, [33] = sys_mknodat, [34] = sys_mkdirat, [35] = sys_unlinkat, [36] = sys_symlinkat, [37] = sys_linkat, [38] = sys_renameat, [39] = sys_umount, [40] = compat_sys_mount, [41] = sys_pivot_root, [42] = sys_ni_syscall, [43] = compat_sys_statfs64_wrapper, check wrappers, maybe just statfs64 [44] = compat_sys_fstatfs64_wrapper, fstatfs64 [45] = sys_truncate, [46] = sys_ftruncate, [47] = sys_fallocate, [48] = sys_faccessat, [49] = sys_chdir, [50] = sys_fchdir, [51] = sys_chroot, [52] = sys_fchmod, [53] = sys_fchmodat, [54] = sys_fchownat, [55] = sys_fchown, [56] = sys_openat, force O_LARGEFILE in asm-generic/unistd.h make tile32 to use compat [57] = sys_close, [58] = sys_vhangup, [59] = sys_pipe2, [60] = sys_quotactl, [61] = sys_getdents64, check: glibc uses linux_dirent64 for 32-bit architectures, so this looks wrong [62] = sys_llseek, use 3-argument lseek [63] = sys_read, [64] = sys_write, [65] = compat_sys_readv, [66] = compat_sys_writev, [67] = sys_pread64, [68] = sys_pwrite64, [69] = compat_sys_preadv64, use noncompat [70] = compat_sys_pwritev64, use noncompat [71] = sys_sendfile64, [72] = compat_sys_pselect6, [73] = compat_sys_ppoll, [74] = sys_signalfd4, takes sigset_t, check BE [75] = compat_sys_vmsplice, [76] = sys_splice, [77] = sys_tee, [78] = sys_readlinkat, [79] = ilp32_sys_fstatat64, use compat. fix glibc [80] = ilp32_sys_fstat64, use compat. fix glibc [81] = sys_sync, [82] = sys_fsync, [83] = sys_fdatasync, [84] = sys_sync_file_range, [85] = sys_timerfd_create, [86] = compat_sys_timerfd_settime, [87] = compat_sys_timerfd_gettime, [88] = compat_sys_utimensat, [89] = sys_acct, [90] = sys_capget, [91] = sys_capset, [92] = sys_personality, [93] = sys_exit, [94] = sys_exit_group, [95] = sys_waitid, check: need a separate wrapper to convert rusage but not siginfo [96] = sys_set_tid_address, [97] = sys_unshare, [98] = compat_sys_futex, [99] = compat_sys_set_robust_list, [100] = compat_sys_get_robust_list, [101] = compat_sys_nanosleep, [102] = compat_sys_getitimer, [103] = compat_sys_setitimer, [104] = compat_sys_kexec_load, [105] = sys_init_module, [106] = sys_delete_module, [107] = sys_timer_create, check 64-bit sigevent, maybe use compat [108] = sys_timer_gettime, timespec [109] = sys_timer_getoverrun, [110] = sys_timer_settime, timespec [111] = sys_timer_delete, [112] = compat_sys_clock_settime, [113] = compat_sys_clock_gettime, [114] = sys_clock_getres, timespec [115] = sys_clock_nanosleep, timespec (?) [116] = sys_syslog, [117] = sys_ptrace, [118] = sys_sched_setparam, [119] = sys_sched_setscheduler, [120] = sys_sched_getscheduler, [121] = sys_sched_getparam, [122] = compat_sys_sched_setaffinity, [123] = compat_sys_sched_getaffinity, [124] = sys_sched_yield, [125] = sys_sched_get_priority_max, [126] = sys_sched_get_priority_min, [127] = sys_sched_rr_get_interval, timespec [128] = sys_restart_syscall, [129] = sys_kill, [130] = sys_tkill, [131] = sys_tgkill, [132] = sys_sigaltstack, [133] = sys_rt_sigsuspend, takes sigset_t check BE [134] = sys_rt_sigaction, [135] = sys_rt_sigprocmask, takes sigset_t check BE [136] = sys_rt_sigpending, takes sigset_t check BE [137] = sys_rt_sigtimedwait, wrapper? 64-bit siginfo but 32-bit sigset and timespec [138] = sys_rt_sigqueueinfo, this is OK (?) [139] = sys_rt_sigreturn_wrapper, [140] = sys_setpriority, [141] = sys_getpriority, [142] = sys_reboot, [143] = sys_setregid, [144] = sys_setgid, [145] = sys_setreuid, [146] = sys_setuid, [147] = sys_setresuid, [148] = sys_getresuid, [149] = sys_setresgid, [150] = sys_getresgid, [151] = sys_setfsuid, [152] = sys_setfsgid, [153] = compat_sys_times, [154] = sys_setpgid, [155] = sys_getpgid, [156] = sys_getsid, [157] = sys_setsid, [158] = sys_getgroups, [159] = sys_setgroups, [160] = sys_newuname, [161] = sys_sethostname, [162] = sys_setdomainname, [163] = compat_sys_getrlimit, [164] = compat_sys_setrlimit, [165] = compat_sys_getrusage, [166] = sys_umask, [167] = sys_prctl, [168] = sys_getcpu, [169] = compat_sys_gettimeofday, [170] = compat_sys_settimeofday, [171] = compat_sys_adjtimex, [172] = sys_getpid, [173] = sys_getppid, [174] = sys_getuid, [175] = sys_geteuid, [176] = sys_getgid, [177] = sys_getegid, [178] = sys_gettid, [179] = compat_sys_sysinfo, [180] = sys_mq_open, wrong struct mq_attr [181] = sys_mq_unlink, [182] = sys_mq_timedsend, wrong struct mq_attr [183] = sys_mq_timedreceive, wrong struct mq_attr [184] = sys_mq_notify, [185] = sys_mq_getsetattr, wrong struct mq_attr [186] = sys_msgget, [187] = ilp32_sys_msgctl, as is, waiting for generic fix (?) [188] = compat_sys_msgrcv, [189] = compat_sys_msgsnd, [190] = sys_semget, [191] = ilp32_sys_semctl, as is, waiting for generic fix (?) [192] = sys_semtimedop, timespec_t [193] = sys_semop, [194] = sys_shmget, [195] = ilp32_sys_shmctl, as is, waiting for generic fix (?) [196] = sys_shmat, check (shmat01 test fails if compat) [197] = sys_shmdt, [198] = sys_socket, [199] = sys_socketpair, [200] = sys_bind, [201] = sys_listen, [202] = sys_accept, [203] = sys_connect, [204] = sys_getsockname, [205] = sys_getpeername, [206] = sys_sendto, [207] = compat_sys_recvfrom, [208] = compat_sys_setsockopt, [209] = compat_sys_getsockopt, [210] = sys_shutdown, [211] = compat_sys_sendmsg, [212] = compat_sys_recvmsg, [213] = sys_readahead, [214] = sys_brk, [215] = sys_munmap, [216] = sys_mremap, [217] = sys_add_key, [218] = sys_request_key, [219] = compat_sys_keyctl, [220] = sys_clone, [221] = compat_sys_execve, [222] = compat_sys_mmap2_wrapper, check. maybe just mmap2 [223] = sys_fadvise64_64, [224] = sys_swapon, [225] = sys_swapoff, [226] = sys_mprotect, [227] = sys_msync, [228] = sys_mlock, [229] = sys_munlock, [230] = sys_mlockall, [231] = sys_munlockall, [232] = sys_mincore, [233] = sys_madvise, [234] = sys_remap_file_pages, [235] = compat_sys_mbind, [236] = compat_sys_get_mempolicy, [237] = compat_sys_set_mempolicy, [238] = compat_sys_migrate_pages, [239] = compat_sys_move_pages, [240] = sys_rt_tgsigqueueinfo, [241] = sys_perf_event_open, [242] = sys_accept4, [243] = compat_sys_recvmmsg, [260] = compat_sys_wait4, [261] = sys_prlimit64, [262] = sys_fanotify_init, [263] = sys_fanotify_mark, [264] = sys_name_to_handle_at, [265] = sys_open_by_handle_at, force O_LARGEFILE in asm-generic/unistd.h make tile32 to use compat [266] = sys_clock_adjtime, wrong timex structure [267] = sys_syncfs, [268] = sys_setns, [269] = compat_sys_sendmmsg, [270] = compat_sys_process_vm_readv, [271] = compat_sys_process_vm_writev, [272] = sys_kcmp, [273] = sys_finit_module, [274] = sys_sched_setattr, [275] = sys_sched_getattr, [276] = sys_renameat2, [277] = sys_seccomp, [278] = sys_getrandom, [279] = sys_memfd_create, [280] = sys_bpf, [281] = sys_execveat, check: wrong struct user_arg_ptr [282] = sys_userfaultfd, [283] = sys_membarrier, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/