From patchwork Fri Oct 21 20:33:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 9390075 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 9C51960231 for ; Fri, 21 Oct 2016 20:35:49 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8DCA428555 for ; Fri, 21 Oct 2016 20:35:49 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7F55229F03; Fri, 21 Oct 2016 20:35:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id D25BD28555 for ; Fri, 21 Oct 2016 20:35:48 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bxgWJ-0002J3-BT; Fri, 21 Oct 2016 20:34:27 +0000 Received: from mail-co1nam03on0085.outbound.protection.outlook.com ([104.47.40.85] helo=NAM03-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bxgW5-0002Bm-Eg for linux-arm-kernel@lists.infradead.org; Fri, 21 Oct 2016 20:34:14 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-caviumnetworks-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=gbFW7vhRrfrJOftLMboM8brrPWItiVdZnkjo+cAzRaI=; b=sF/hrKCg7YSKgG2U19laiEgOQqpitzXxe9upS0jwGr7DsbOXRFTYd2430DGArFcE6AIGM2ZxfnxPVk38ps0W7SD2BoJuufs23hzpQkm3CDm3q+V09+c54LrkqI/gZcn5qLBEZRSdGTovChMWbYwLjH3t/BQGdlvMHEYuyczjzcs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; Received: from localhost (95.143.213.121) by DM3PR07MB2250.namprd07.prod.outlook.com (10.164.33.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Fri, 21 Oct 2016 20:33:50 +0000 From: Yury Norov To: , , , , , Subject: [PATCH 02/18] arm64: ilp32: add documentation on the ILP32 ABI for ARM64 Date: Fri, 21 Oct 2016 23:33:01 +0300 Message-ID: <1477081997-4770-3-git-send-email-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1477081997-4770-1-git-send-email-ynorov@caviumnetworks.com> References: <1477081997-4770-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [95.143.213.121] X-ClientProxiedBy: HE1PR02CA0075.eurprd02.prod.outlook.com (10.163.170.43) To DM3PR07MB2250.namprd07.prod.outlook.com (10.164.33.148) X-MS-Office365-Filtering-Correlation-Id: 417e9f48-551e-458d-3f48-08d3f9f1913e X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 2:2P1GF8HoA8l4NKAg/xy9dhbEqM6ojcIKaeToHKADPezxPyZtpX2P3UUs302XrGi8mvBu1hsTQhdYmrHcJH7tN/hcktMEv1wlifDdSrUgC/akKzw12WXT0xAul3Na6uwMs6wp+jXAj7bBmcum0GjkvJTvuB5z2sVV4MzFBG++vanTfw9psLIQErVYVjRvxQNAm+hIyjQChEc6Y0jwMcQz9g==; 3:3TvzTFf2z3i23pA84hDd16/vje8WaxHwRaaR4ImmZIdyD01JJh7iat4ojZ15z0PtnT/2ZkfnsQYtHBetzs0Bf61BRErM4+mz2bMhnnty6t4wBlWKCC7+V3ptJEYBmD+BtvNQVBmjpXDOT/VU70p8dQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 25:Bt7vSQa6L1ScHjArWegjs+sQhDHPZzvwYKBmKF4xrnEzW5wv2R7HGEk4CXOstVBgvvzCwlDJpQlAqoaQcUScms+y+7xqTBYlpbSRAV+qgwWc646smakq5xOhotmk2GVk615YP76iQTv8F0SkRJwpUB/ZywDdWFUnlnWrLTMm/j153c+J3KVKtiPM2aCijDGSe2glYB0C/7GCStNwpMJmoOADmwKLYYX2X9OeE2ewxQ0NWwdS9ZpCGDP2Fae6/3EkLjspTsHiytrU33z19LXi6AVaEBYSzuW0aIVlL9WhcUSFRKIvsGmwA1ZKQYPxSEOx6TXGHXqtqKDDM3H4fiJK6eify9WOhf4xROUOXTuRCTxugfW2VLlf9gRQAWZ6ayE/Gf/4ZeJD+vp1SHoldIxZyVsccUqaDOvsQ8Iq0Sus2NvS3VWb7Ws/+DWJShFfUeDmxCjYiwd6ltXm24TzOx6ccu7NpfrZ+ERc0jpNTLM5RTZgQ5K/FzJtkCMU4KNycDAVElqur81DB49l5m/9SZo4nD7NN0ODmNC++rIDrOHFzwSCvykQzuaFTtm9QTM3pYTbsJ9Q2JN51RsMHO5gI1QE3fDMB5fGBdzCZctIKSoHghd1MvTV/wbxHfTuedajib6V1gVPa+YKxiiImubHJS6kXph9dalo0U+WyIRmhL9CZwET6FEHeDrdsrZEdNqD3B91sLQvNbnVcN9xvbSoS+sG5ia8HJFHSmyc04S9T3/j+vf+RkVMaspUsF3u2+MEdmRSj1XSbrDbll5shagnYdzKUg== X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 31:LLuKx2s/oyq0pFdQDzyUX4TN0XY3sIRYQzb3vwma2AJKEenX6gc4752Yw0uDS1k7JOV6DXnf+S8hcIwfntLkXqX6lZuMD835Po4RvVdIeL8UaBgu5FGfBJAvwi195992ytRaT3Gi9ouFDx/nsC7R3vs6klQrcLqGVtndbismJ2yeYJufkzERQ3tnfC65Jjffz0EZj5LSU447G3x0RRjOZa1Fky+9TxUJopIFCe2JxkoLt0y9Oi8/JOPCfjdikFfNvJQsunDFJpj43VDE0Xc88w==; 20:Tqu2ORSUlWTOBlZ1EF4gAIlGhIXKUyHrhQOph8QJ5BiH4GGkZkf8DFEGweuiTswv7JVkvvGWmutzyl+qu/18S9baKzTy1jTd6nmJ37CfETh91PhdG1o+DvoVTtXrQv/21wUpxfQG8o8DGzPl8eapiEoO0EUxU0EVRM6RJImUIjCsS8LT0kfG1fg9mjc5YH31NfTDPCM+57Y35g6GgEW+ml4MnwWIjhDXdYl6HorAEpTg3lfI6gMY1aUHea8f2PTuPg6vC/C6f0ZZY/L/kOVzwzGDDH9QUXC+y7UMM4BmQM7yKTVecv+qzulr+SviT5NwC+UREA4zNSO1vCRqSGY2qXYrA0qE1utH57ShW3+lx64+l4ECKonN0EFhxUCyg3XJikC/5onW0kVJFlC3RrRoCTu5AxlBdI3cMN6hBagXqHp1Bs2YK88GZ68uUAedkcRAtRQVuVGlkaofzqizvQ7SkU1sN290g4NGq4j74Vr5B98+uZ7Z6tig4cCxMduBnFpzlAu4NAqF0WLw+6Ga2PbmyBFNTQT9ZkNuHDt9DmmFylSBTlcjP1s461G6YeqLDZhd3tKbJ1RaoB/b4oH9na2qXZ6y26xRV/DTuMCksUW4Sxc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:DM3PR07MB2250; BCL:0; PCL:0; RULEID:; SRVR:DM3PR07MB2250; X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 4:YrxJ3An817LbB8NubJCz6EW0Opty9CKOHOdpSPAtH9pu01WZAyYvaeUxC64ox7KJJJcK4QNncYeDuhyX43bXA8RMlANW0NJ5GUU64+n4tfFjC0f/tpLWvsMFJgWrn54DMlUP7CyvsFOzWN4slNrAgKiBX31Pal2LR7hbPhtMGzYd2BSj/Fv4fmhfRZ4XQpMjrsVpqSPzSCVJ/Vya+o5VN28G2un4G566OyGcx0Ovx65shONMaYn3LSE6e04M0u9FV9zw/gejNCiGlQWXK50pfFVHun4cedwlr9EZhOQmPpFDo+J5t4X8g5OtBneXAiX3c0dLnOzqHASi3fEgtfAhBYfvHSLFF2luRUtOjlf/Ft8PGpCx+92tb11mdjPZxKiFxcyb0WMW+BSRvS97ysPJ9A== X-Forefront-PRVS: 01026E1310 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(979002)(6009001)(6069001)(7916002)(189002)(199003)(76176999)(50986999)(7416002)(8676002)(81166006)(81156014)(586003)(5001770100001)(97736004)(77096005)(68736007)(33646002)(36756003)(76506005)(42186005)(105586002)(2906002)(4326007)(106356001)(3846002)(6116002)(229853001)(5660300001)(50466002)(48376002)(5003940100001)(7846002)(305945005)(50226002)(7736002)(101416001)(66066001)(19580395003)(19580405001)(2950100002)(47776003)(92566002)(6666003)(189998001)(2201001)(2101003)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM3PR07MB2250; H:localhost; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: caviumnetworks.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM3PR07MB2250; 23:JaR5S9hmZynR5w0ZIm/v7nWrjzq1AM3/Xh+VdW/w2?= =?us-ascii?Q?gdflia+LMOxAMJdhrqDIB9YcBYAG5zSKsjWXzEWe/2+WlgQzdL52TC5cKArg?= =?us-ascii?Q?wYbYyKvprOrpEXOs65iQXTUaBZ39wPkgN0YXF/MD65RMqPWEYpVJm5lpsx08?= =?us-ascii?Q?rkqVm03zkfcEzDAl7qqRrC1Nypde9RUOcbtQqyrnncrmp7v3alSjnpY7OEJ8?= =?us-ascii?Q?7/kxAkgJ7B4C2f05jiKcXxwmw0kbJvEPJ/i6iZfPU/c7dF1VS2vN8hXriqMN?= =?us-ascii?Q?PigCpKgVDojE4HA1ygCqVhNFazkWzQSJO095eBQ+FVK8GOjHOYfvLtZstbSm?= =?us-ascii?Q?dyqIyCUQ2A4Ai7bBOxeDh6yrz2v0liT3WfsQm/kpqgUFgt1WNmxLscD9zcmX?= =?us-ascii?Q?E8KLLqKjzbLmSVJGFQSkzKNQ5CBsjBu7BTclBTUlLFrH4lYQz11vDh4wllFD?= =?us-ascii?Q?AkIurhyDe56dXJIpejZKMtH5CQBpof7yXrlFETSMrmaHQnL5kGFtrzC2pqQN?= =?us-ascii?Q?GkPwG4uB4S8VCOdji6l+Pmexm/hYtAnKHz/ucQ4WzDErGOt3oayiIXu/sdaT?= =?us-ascii?Q?RDfbtJHf3RWI/Iwgrrizs2me2tgxhc05FFdU//5iV2S7lFzWQZ2LHrQ81jlS?= =?us-ascii?Q?mrDdRy8mzlqTWd38DTy/JnIzCdapDwAmcEpShDf7MKMinkNqCNDxJ+U62rOu?= =?us-ascii?Q?phc9fcaNFn9Rx4CxiZrjnzocy598AVjAnw5TGfLnXb+5Tkz20xFdn2+pMlfX?= =?us-ascii?Q?iOs+Y6774obu5hw51CqTdCEuuJHsP5tGS13sszr6MCFkpBJcWYzN1p/cpcXr?= =?us-ascii?Q?HZz6k4VUmBe8Z2iSzcS/zuIGydg8n8KZpTccuQT2izogEJbEaZGP3RBq6Kn2?= =?us-ascii?Q?AdoHyqD1rUQZHN48XJ/aaJyRQzbvG/2DE5PBjEWJq3if/c7WkZ6E6GTeOg8d?= =?us-ascii?Q?uI9Rea/AOYlJwpM8Dc8A5mWLyffm8nnFJhOeK26XkiwZdxZ2eV5y6qo03UwC?= =?us-ascii?Q?Egv9d0xE3eA+YzHMgvXJLx/nGErUpqNIQCMaqjqJ4EsnNrT0FS4Hf6mrd0/a?= =?us-ascii?Q?KFd0eu4fXtv2HPLPePNmnb2k5r+QyA5uSViJZoaLhlezNGDTf8X8KmV8fEwF?= =?us-ascii?Q?LgsnvGlmPYhP1SPMoliTe7JPxWaIXXwVDaLxiX9uWH/QmgGKisogo3BaQI83?= =?us-ascii?Q?pzjr61ii9rnUUZp4QfZRJoNF/0Oiyj0Z6f7qcl5WY7wZNuqr4QtsfBPIag+G?= =?us-ascii?Q?bNMgZYplsRJyX6k7MUCwmoTrzviTMFalVw62hOc?= X-Microsoft-Exchange-Diagnostics: 1; DM3PR07MB2250; 6:XB1wcp0L3aeMHg4VIAJOrzlU4ji4XS7XtUyPIrdsF4+ZzTS1dZ0zudXDBNk1ZDfUjKjOY/qKSaee+hrdCTeK0la2NDX/cPIiwkDU2By6RAvRK1pwLozi5TlJdp+Pzl3YbYbu8np2bypk3BFx49qJNaeRnJ2u6Pi8FW0nJG6ioFxJUfERzurDA+O8i8aPF1hqvLKdns2ZygebbqHqDwCx3Qmtdu8J+KNTLUYbHr3D4bt1EESKebWED5vMMx7Esf3z+NmTNoHU7UD59AuNiJYX8qF+Ah2hJ06yOkoeJwNUciGG6bPLTxiG6/5Nn4Mh8/FK; 5:QVNSBFNrqck3WxkJtM9K5g13mLN6K8CRxtu/V7LkughsSOsHtE9l91itxZ5Qh5SotywjWHJ4ESDDctUpyQQLy5K1c4LPuZTBWRt8jdMGmcGIP/GvrsSwW/zFY+2Y91ItOyRM1rpOIs/Zqjv/DsHpU9yviMJl6dchfb751YRyZq4=; 24:DdhlWiMcclgPrtPtjKFzcQZJttbddk+FgTKvdSruZMJHXaqz/KrnT03a+eD2T2ZBTuU1aVmNG+cAGwmyBeFsrog1SOeKlsCGr4RGcvyP/jo=; 7:xXy2ke9FhdBzabi8Sqcu8yCAt1pMr1MKjf7hRIkEdPtakW6tCf9tCrWW3orGSXafqDcCe6VGA8SxgRbTrTT22+eEKuZzscvpj1fsWJ3sHmeUA/L8pwfMxYTP7JQXKdDYiyQUPm3By4PL4EuBIY79t8e/YHZiF0bPaJQJIvvYQqc9PGBkqHsoV07vtndWdQLvqcNFePGWuEfzkKejwDJMoY0jJbDTCtA1DpHDKi7TGc0AQIu/k+BQEY3GF0q2Omo3eo7mDj6OY8e1T/oJMRmTXNIwog2tLNbsIVpNI8oRG0eJchrG5O7/jY3W99ac0J6WZYv5Dsjkwz2qUKd1ZNCaMW/7FhbDVnCqXk35C3US5Uk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2016 20:33:50.3788 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3PR07MB2250 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20161021_133413_684062_7831F95A X-CRM114-Status: UNSURE ( 9.78 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: szabolcs.nagy@arm.com, heiko.carstens@de.ibm.com, cmetcalf@ezchip.com, ynorov@caviumnetworks.com, philipp.tomsich@theobroma-systems.com, joseph@codesourcery.com, zhouchengming1@huawei.com, Prasun.Kapoor@caviumnetworks.com, agraf@suse.de, geert@linux-m68k.org, kilobyte@angband.pl, manuel.montezelo@gmail.com, pinskia@gmail.com, linyongting@huawei.com, klimov.linux@gmail.com, broonie@kernel.org, bamvor.zhangjian@huawei.com, maxim.kuvyrkov@linaro.org, Nathan_Lynch@mentor.com, schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP Based on Andrew Pinski's patch-series. Signed-off-by: Yury Norov --- Documentation/arm64/ilp32.txt | 46 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 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..b96c18f --- /dev/null +++ b/Documentation/arm64/ilp32.txt @@ -0,0 +1,46 @@ +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 potentially access top halves of registers that +are passed as syscall arguments, so such registers (w0-w7) are deloused. + +AARCH64/ILP32 provides next types turned to 64-bit (comparing to AARCH32): +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 64bit 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() +sys_mmap() + +ptrace() syscall is handled by compat version. + +shmat() syscall is handled by non-compat handler as aarch64/ilp32 has no +limitation on 4-pages alignment 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.