From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S936032AbdAILbb (ORCPT ); Mon, 9 Jan 2017 06:31:31 -0500 Received: from mail-co1nam03on0088.outbound.protection.outlook.com ([104.47.40.88]:22944 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966015AbdAILbV (ORCPT ); Mon, 9 Jan 2017 06:31:21 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: , , , "linux-arch @ vger . kernel . org Arnd Bergmann" , Catalin Marinas CC: Yury Norov , Andrew Pinski , Andrew Pinski , Adam Borowski , Chris Metcalf , Steve Ellcey , Maxim Kuvyrkov , Ramana Radhakrishnan , Florian Weimer , Bamvor Zhangjian , Andreas Schwab , Chris Metcalf , Heiko Carstens , , , Joseph Myers , , , , , , , , , , , , Subject: [PATCH 04/20] arm64: ilp32: add documentation on the ILP32 ABI for ARM64 Date: Mon, 9 Jan 2017 16:59:41 +0530 Message-ID: <1483961397-8599-5-git-send-email-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> References: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [103.78.20.242] X-ClientProxiedBy: AM5PR0101CA0017.eurprd01.prod.exchangelabs.com (10.169.240.27) To CY1PR07MB2245.namprd07.prod.outlook.com (10.164.112.147) X-MS-Office365-Filtering-Correlation-Id: 5548c0d1-2c30-4e9a-8dbd-08d43883083a X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:CY1PR07MB2245; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2245;3:Qe7BOEEPokseLYhhMuBhChA5F6x9MAfWRaJxI6/d3YOUHhTbKYUD1/K+4w0cwrCzF9FChgwKjLIUAW/5e749ASXfHsgUGQXDW9HIOefZssd1m3CtvR/c76/xfJDyCHtaIzOYcfNfl6b7kWHligo08UgQ9Ufb/4yvRqXbpu5Ln1l8HblNay417liUtx0SVfy86tNwnFVJ6MKriwPVl77B3rgkbpLXY7xEpBAIlvyUY89nQdhInBge4XUhxGr6YldqELrR5lGiXC2CSO95qsbFTA==;25:zODWvHT9IVg0Qcp1xVLBo1Y9MGjdyJWM8s53+Q/mHfXBUNqsPIYAQa8pnS80AvDlKwp2y4L9StPgJu7XGJ06mXJiExLuAKyjiEy/j3Us3R/6hv+gktyuZDsuxfX+xLwy7JiYNWKnAAbsGOGNLUzDcchKBMgM3J7COK7Z7HdCZFPhxvNA3ImuXdPA49VUJ+JEJ9g+e4hzR0w0JmjBkeQM55yASpvoViKfWWOjy8UkezrCUCOcdxIFU+eLxSGOGc7IXn4uLv5Ys5OAE5jBEC1HQeMx7NVij0529BfbvfswRWJJZP8Rrn5y0uqbVrGgJXQz/xDqUjhhxRsjzK2DN1hJl0WjThFkuffP1Els/PSmA1Eyr5XGbi6O1ee+Q5HsbYHA6U+HTUw/hoNnLSrA9eOALbPZx6ivP5D42Ywh+hJGoLJbV1iefoKT3pXEme0aNoyKMfLhSmyHOf4BQCCF/wOSxw== X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2245;31:unCWkBBNxb+PvzdMgJhL9IdjGUc2IR39phQn3ha32ysurk+Z7WU7RmjP06m+QL/ARQQQ7zAR4W2OyXszW9y6xeKmHai9GtEkfLgHNIjQpUNKUFBWwOFX1LsWxssm5cEn5NEC1TZmKDqrBWCEyepHtCWqVvENTKXen8rxV8yUj37KWdt4lFwJVceLo2Mh6N+3rAcXkTM1dk2iYztuTS6lCIBoZKeH1/LC3lOsPx6nI5jwgH2nPRu+gjhn3OyqJaikh3CJHQbC19xcd3JPzDhqhFt5wr55lFQ6i1MZYAmPVts=;20:yYmbKqjbRswQcAbXGtxqDjcf/YJe/ABtR7RE8jAQxjyp+I20P09BjQ4o99VkEWnaM7h+BjFBeJjbdHavN8ZOU+FL8glxk2LJR+g7rIrghQ7gZkryCIFuSQUcPG9Ubrhz0VNU7J1tTUsTXehbwcsySm1mejvENlkXgFemFT1UnW6bBocfa0sszuaglK9f1GYm5pZN5vhDFboPEsAICVpogV1XqhVZGWZmBWiGpR2AR55XPCckt1XXLEUESTjWlfWs6dViJPgiMq9E0p5xBJ8N7Ll7IVG0sB4x+9ZjPcIFOzn4U3+sd4UsJ/qDo5LNMkCmyKCHTqJQEYadPJGo5Vv7TXmYgiCA+gC8VKNzs+FVsDPWX+7sGeEoBCwFUy8BUItTGdvLVSXvBt6CdXruN24L6PBvnO6cdUz1zgNnyEosWAOUF98OOjyTvwWSeezPNxOew/aDHKUJN1EgB0Bq6Pud4R+rxExX84UurD4g0r5F2LHlUsKjUJV3z8Snpp57u+Vxtdw2qb27fvCwWlN6wu0C22klU8g3r1NgDFGLhpyyqYd7HFwVv+sgrk/80BStxBgG5TxALoYz+4toxZlIkNvGCPVdPu0rPOod+tV9xh0YNRs= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(6072148);SRVR:CY1PR07MB2245;BCL:0;PCL:0;RULEID:;SRVR:CY1PR07MB2245; X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2245;4:Lu57wvTIK8zVCsMDT1p23z9H824llFBGxn4n2JiFvikwyLDicHceEAosVik1msxwEPtZ7hRX+Ld6pfHm1vBJTjXCH9DtN86x+NlmSQCjKsZwsHx2Y/8VYNEsup2T7v5CUlIPgElXh4OJqwQTALv2alS8veQ9FzqmkzHeapX7cSX1FAgD0vCurQ+QP5zrQViMKJMc3wON/g/bwNOqIq54OprJqykGrXITtFC4yK097BR86uChkQek3HpRmqouu1nma3+3d92isThfJ54sfz0fKhq5nw5lTZvqlgx2GCsxrKge1MD3FMNDP8xbI+/bMeiGXY5JUOlLQP/tJjMXjXnC77Cb+7UeyC0rzeXVwnJd+TB9Vl8n4ZgJNX1tVD4cYFpxjG1RW8g3dfp9z6cVpK+xNa384oiMstbLmwYitpJwoK4cqCDs2rpg4nMuimXaf4JVe8WRxUBNvvZyeijzVDXMh1tyqr3loTwrp+glpV7xyOD+se7t+VpkrBOH58ORWUEVbYaPdZLwGH65LgGpAv+HYP2m1uOJD6h4TQGziiB3FaDCcPkLXkkSPHPlU5tj4OHDBzEJL5bNdjQ7POe2dMiQjw== X-Forefront-PRVS: 0182DBBB05 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(199003)(189002)(6116002)(5660300001)(305945005)(2906002)(7736002)(66066001)(68736007)(2950100002)(47776003)(50986999)(101416001)(7416002)(6666003)(76176999)(33646002)(48376002)(36756003)(189998001)(50466002)(92566002)(97736004)(4326007)(76506005)(42186005)(54906002)(106356001)(5001770100001)(8676002)(38730400001)(6496003)(6486002)(2201001)(39060400001)(5003940100001)(50226002)(105586002)(25786008)(3846002)(81166006)(81156014)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:CY1PR07MB2245;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CY1PR07MB2245;23:uactUXp9mh54Se9xRvz6KrPZ3fg49WUbNtb6+2b1Y?= =?us-ascii?Q?WHPhPfNUuuIAcnMriw1Uil5vZLysawfrLFPUtrBrJ9FLelj1MVnHI1LLAWI/?= =?us-ascii?Q?A7F0qriTZc7//DKKFpVNChGPxiE70CNYlj2O5ThYhAWKCeeefVfD4nxFCjdR?= =?us-ascii?Q?L27hsWk2RvOtXeOk2ZCbBfCLGZgzsHvUJA6xswvjAk1RNCA9RLoQRQD8KBE3?= =?us-ascii?Q?bqoscfBcLS13CUuOcH3gFY08yx7ap/6OSyPCSAmqwAh85WpqSP21wVq05KSo?= =?us-ascii?Q?rDezIsrbXwfj/KO/ZfF4qoPj3MgPIrXGP7IBm4uLDIsJCDNVaLaWwb3naj7A?= =?us-ascii?Q?oSVrHRvaQqsYJvpSJH+O/rJyvI8fmrnPA45jPNu0Hd118/lqK61v5Vn/msCs?= =?us-ascii?Q?guQ002XtAy5xgzdB5mCORoxXbR4gNWbyF7MOoh7c72aeO+hg13M+9QubQiVP?= =?us-ascii?Q?rzEBUUQWRrXvjHScfUTcgqKWO0p6ERq7b0diqp/W+oKwa2TbhCdBJViXhdMQ?= =?us-ascii?Q?sQqKec76gHBUTuuXqfgD7QYOGx5dkV5WB6O/Bk8zThB171CPShPucm+0yjp6?= =?us-ascii?Q?6fr/evj5SlkY8+ylNbIEaMKjAGL+4KZefDL5lLtLQiJS8bMwKmqTVy7fOFGJ?= =?us-ascii?Q?3S/rS0TP8uMxBmVrjMJHO4MfOZD3wlxhQhg2OO7eG9euq501x3wD+5e0Rjg9?= =?us-ascii?Q?NKgIJwYgtvWGfv6vEtK2ixzNEU05GF4eDmqZpxmaMDlHWss2XUhl94xrjnen?= =?us-ascii?Q?HHFqS2mVPv1H7Yv6e4epo7KAbQK0BXumyvRlzuTsfan0FzPHipklNnfW2fU1?= =?us-ascii?Q?Cu2YfFbpt5JWi+fRrLsQAbaHsebRrkQQ6Gr1FtsIPgljJBa8ywMnd234QIX5?= =?us-ascii?Q?0GakHNuUuGJAvFInBt1Z7A86ETgLpl+qoqPDgJMd8+9diCgxVSsvMMCxlfYn?= =?us-ascii?Q?w985nlLZvPT3XIq8vZ4E7kGzE1D5lUXFjMyZ3NIcOAEauMqkIJjRvcqQt40g?= =?us-ascii?Q?DVLazldl0mcadwcTXcan/7NaAnt3AzUakvngP12am0jwjO5BsNcZILvYotKt?= =?us-ascii?Q?PxwZevYKwHekJErpj0EPhgYhhJZh3+o8i/U3eV4/zRzXGHApFSR5QWC9QEHV?= =?us-ascii?Q?Y9IHhNABiRFaOc2ZeRbhG7vmK6ADbj7s9yqbuYu4sBgUDbr6+8OQw=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2245;6:EkbwhrTNvpFhKusycxd1eZrHyT3vTUOMP6V5Kc7pzg9g3BHxgq/0tBQG/Za2HE2xq1FTfUQ2rEe5LSzl539kcSfBgfcgrQ6PijMIMZca8QeCQmXICVUP+WakkAaIuaa026A0sXFEu4q6KXEKM4dbawZ6S6k7KJHDtU+Mwii2DyVCvP+q+CWNfYD4v3JWqla67EMlXytVyZ3LYrCzhXCBJC4WRqSuj3spPVJcrcvIQ27jjOCmH9DilOEvkwxXWE82sWzk4Abyc3ZVziaxgmDbr8DTfu3Hky6cVP4q7infV+blU09lEYgZ4CupYLCyQVH6DqTzaSHIZMi6EOc2f/Wb5tuJEoyG6j0fuXnTO+AqgWBQmx0AJKav3fIeSqmK2RP9IXiG6R4huYV7x1+eK4zc10yw7cgACILD5XQUlAM53oQ=;5:B6FWONZHCNQ4yp7lhRDf2NhKX9KZJNDOoOXdo8jrbue0qU2rFF2o5ZfWMiwobCkN54o4WnhomelCJfxmsFOrE6dsfFzCd4vNd8qhz9U7K6EE9GcRD2f7AcpihaQ6cdeth1NyRkYSvHMcRNYHZlMvdg==;24:htPj3oYSki6q/5u1nZZ+ANROSj0l/0Ic9JGvtqo7ctlX1nuFiq3NXfmD2hY2KxsmkleF0xxC6UNjSF7M/+F2nuKQFEZxeyoLl50NmXaaips= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;CY1PR07MB2245;7:vX6ipCQsU6ubSJbbRCrrlsyXv4HFefWeuUzAcEadvzkNBUN//gVbVBGxqqrxonqNwdYbxZEvC0kJNJgH0SJctp5PavVO8UviCN+9Z5Uh6s7efm4wjTLWe+KQfk7NQbVNOYEVpHRdUord4hpPeUXIgcghaXHlsFJ8vIMdYVzruJsCEUdR7+ROmH6rN37Fbdqn7KftWluVV7Osy/uP14iflZvex9eoTd8T77d5bKw9360COS0Ak+UZkAybRSE98yQACow6sM04jFbmJD6348cMb5pJmznvTKqhb0++Y0MqAulEUAmMaAAwKOZs9SSuc2sUrBK+GLroTKElRSaMF+bNs0RoQ0doMcHYPx6DBhghZ1fhe+O95NU+HXjRgQ91e9BxGR+iXcHb2lFhTLhJNTCpX3I3EfL4RA9h13hlKB+ZrGELklsA/LP93IG8OG6HxbUu2oUHSFAfaa2Aig1tPA+uUA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2017 11:31:18.1576 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR07MB2245 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Based on Andrew Pinski's patch-series. Signed-off-by: Yury Norov --- Documentation/arm64/ilp32.txt | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Documentation/arm64/ilp32.txt diff --git a/Documentation/arm64/ilp32.txt b/Documentation/arm64/ilp32.txt new file mode 100644 index 0000000..37fb523 --- /dev/null +++ b/Documentation/arm64/ilp32.txt @@ -0,0 +1,45 @@ +ILP32 AARCH64 SYSCALL ABI +========================= + +This document describes the ILP32 syscall ABI and where it differs +from the generic compat linux syscall interface. + +AARCH64/ILP32 userspace can pass garbage in the top halve of w0-w7 registers +(syscall arguments). So top 32 bits are zeroed for them. + +Comparing to AARCH32, AARCH64/ILP32 has 64-bit length of following types: +ino_t is u64 type. +off_t is s64 type. +blkcnt_t is s64 type. +fsblkcnt_t is u64 type. +fsfilcnt_t is u64 type. +rlim_t is u64 type. + +AARCH64/ILP32 ABI uses standard syscall table which can be found at +include/uapi/asm-generic/unistd.h, with the exceptions listed below. + +Syscalls which pass 64-bit values are handled by the code shared from +AARCH32 and pass that value as a pair. Next syscalls are affected: +fadvise64_64() +fallocate() +ftruncate64() +pread64() +pwrite64() +readahead() +sync_file_range() +truncate64() + +ptrace() syscall is handled by compat version. + +shmat() syscall is handled by non-compat handler as aarch64/ilp32 has no +limitation on 4-pages alignement for shared memory. + +statfs() and fstatfs() take the size of sfruct statfs as an argument. +It is calculated differently in kernel and user spaces. So AARCH32 handlers +are taken to handle it. + +struct rt_sigframe is redefined and contains struct compat_siginfo, +as compat syscalls expects, and struct ilp32_sigframe, to handle +AARCH64 register set and 32-bit userspace register representation. + +elf_gregset_t is taken from lp64 to handle registers properly. -- 2.7.4