From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751193AbdFDMAh (ORCPT ); Sun, 4 Jun 2017 08:00:37 -0400 Received: from mail-sn1nam02on0079.outbound.protection.outlook.com ([104.47.36.79]:33536 "EHLO NAM02-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751139AbdFDMA3 (ORCPT ); Sun, 4 Jun 2017 08:00:29 -0400 Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=caviumnetworks.com; From: Yury Norov To: Catalin Marinas , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Arnd Bergmann 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 , schwidefsky@de.ibm.com, broonie@kernel.org, Joseph Myers , christoph.muellner@theobroma-systems.com, szabolcs.nagy@arm.com, klimov.linux@gmail.com, Nathan_Lynch@mentor.com, agraf@suse.de, Prasun.Kapoor@caviumnetworks.com, geert@linux-m68k.org, philipp.tomsich@theobroma-systems.com, manuel.montezelo@gmail.com, linyongting@huawei.com, davem@davemloft.net, zhouchengming1@huawei.com Subject: Date: Sun, 4 Jun 2017 14:59:49 +0300 Message-Id: <20170604120009.342-1-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Originating-IP: [176.59.55.28] X-ClientProxiedBy: DB6PR02CA0030.eurprd02.prod.outlook.com (2603:10a6:6:15::43) To DM2PR0701MB1278.namprd07.prod.outlook.com (2a01:111:e400:5118::16) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM2PR0701MB1278: X-MS-Office365-Filtering-Correlation-Id: 1fad597f-4e6a-46ba-af36-08d4ab4147fa X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:DM2PR0701MB1278; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0701MB1278;3:9bG9DkIcdKVzyCUvGwJxpfHclXXnKSXDhWEizTczaO1GRg17ZgK2o+PpbC/l6fH5EGo1j8yrdbVDRRETKbfZ8DcaWFxGhxUqSyrLIjZC4fq2tR3MH39A40hk1Ujnnf2kBce4I+xYwc9JOea2Mw7d00CC6NcsLN2ukAtOJrZ8o9Z0qLUC8xVygXIfmkWXuuf+B4uP0GzCj67eavVZZrYZ8ZjF52ekxt72TlH8XzCCBQ2ZHJA/aRc+z4VD8Szlh2P6XotOJfJh2kqhVAjcYTeqZjqd4ZDJ4kkith+Ld97Yf/C57yx6rxH2NbBmc/GOVa5ahWj4E72dT8G2XBW5f3NIdQ==;25:ZWwc2R5AUUR0vUtFLjAdH8JxVXOQY4pcB4cvJzQXAlQN628FhDl8XfuuSPbOn2u/b3uoyUrfdvG6diGv639EZxQqWg0Um2zHZnVrCsbkMzsvP2WD/78vfMj4nmlMLNpeJnDUuS3Z6CwGHDdSmLbjaxPx5NSV3xO95upz7sN5S8UCUa8y7qD88df38eMxxS+UzD0y6DWDlbsJm8frTXCMAqsxvS/LUmuCZag/VFqZNOMmeEcPvoDLvkqWE7wQZQ6x1Q7dWq2rwbN2vR7LjcMTtauryLq6Eb9kqCD3fdYv/frRsI3yG61Sm7igHHdG7B3o+O+vXcM1HVC3pVJQnd/qr3a3hcoHO5jO8RnwkpgF+6jloOI73yQo/8U4VYbFDWIynOoIQtEhdEMDbt9QGXkPunuPUzkSf2acMPN+nlRbs302LiHEidS3zgri+m4qOpMH0YJNM2lfhAJfJuLTf45O4A/+52f6uzeT7mQM5goRC10= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0701MB1278;31:jE+UpT8O036e4DshpeBqmmgJMiChWlqnz0acZ7Dj7Khwbs3lISE8S29u1SBM53WvCfRA78NDm7GBmSxi59HSV0+wWY3nd6x61dWfdndcyt0o3KDMXnHjj09JBwFZyP5Jsta2Wi9vje2kF4jnTK7YybnC2V/UV76ioRhQKjjGGMxv6vaoVVLmhnZz+sgro+OXhPWuIdy9EIo8bS675gGd8kCg6ZnxDt4c6nSaNI1dwP8=;20:R8yj9U9iHZ9SE+jmidS+SwIH4COIWfn6INL3Dith98Z1xPlZ2eXub97BOB9PuSQ49Yprw1YU2OQHrELAUOeyHn+tOwVjBP7kH+S+cV/iDKUb5NkXnZDLdM3wZW/94tEKpzPGWoeaOwXzGlHsneKLTAq6nPK4pdYnte27ChTEWcEYUyodSFTAPveS5pz76ccsX829H7teadcQvDeSgVXPr7ns9qB2tpf4cev+TBillEhXFZOeYC08/R6ThMbQEMHWkcB3lh1R15xVe6eEO2XWk4+kZxkhvtHV/xy0SWd+a9+Bp0YqBY6Ynxzr0O7gzoad8pKvLTwqrmGdgOCxeHcK+LSoIEZ2PC7SG826Gi7wCqc7SJOc27CZ75RNL8GoaVwIM2uu0g5ovlIEVL0WHCiO6aICC0f8efQTaIv6tr8YJivM/C5FLcp27p8LQHDCcK/9m2npAUcKrjDnbxD9/7ejBrfKJgla9HV+VDkAtu7/FOvgGs1fghIaRbYe4sjcNaEsFWqL1wJgkUiooo9V/UJm7GLT0GZs+OH5bjs4Dlp7/ArFbzAoTqwQwHsv+B/nQcFKpmM2NHKegML1pB0QwAItKZS/YVLTRNjJwyeLUTbpgu4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(258649278758335); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(6041248)(20161123564025)(20161123562025)(20161123558100)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:DM2PR0701MB1278;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:DM2PR0701MB1278; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjA3MDFNQjEyNzg7NDpnanl1Um94RG9qN2J3RWo4L1hmVmhSVXhZ?= =?utf-8?B?QUdFZGZuR2YvL2VZR25XanNhSmJZVCtHeDVLMlk5OEhySktCdkQ4SEtnalpj?= =?utf-8?B?L0N4aEFmSjVtM3ZIdWltZURUTjhManM2WnMyanQ5bmF0WmV2c0c1REdVU3N2?= =?utf-8?B?SzN0cUR1UnR3elBzRHB4bVlvUHlsdGxOeFR1dTlMT29leFY2c1c2N3FQYnFY?= =?utf-8?B?b1FldElyL3hlWll3TmFGUmttUHBhVG1ESjl0N0NodWpPWmYyTVQ2Nm41cnNS?= =?utf-8?B?YTdCNWJ4WGJYZThrM0M3R2VaNzZzYjE0Y1NWb3dCT01wSjNaU2Z0ZGdtZnFL?= =?utf-8?B?Z3dXOGhxZGdZYW5MdTJMTTV1ZXQyQnE3VHlNbUl6WW9QRWMwNkowR2g5VGFL?= =?utf-8?B?U1kwbjdHY0w4a0xMaXNSSThDcC9RVTMvOGpIeXI0UEVUNjlqdnQ1S2V6YktE?= =?utf-8?B?blM1YkYvT2ZGak5oN1pFRk9sN0pib1E4eS83aEQwamxtSjkweUdRNkN6cnEy?= =?utf-8?B?WkRZUkFQS1RMRVZIblI3QWtpQllYL3N2RDliWkhpV3UzSGV1ZWFySFcxa3pa?= =?utf-8?B?UnBXNzhpR05RLzYzY1RLY1NqSWdSSjdOMXBmME9TcEdBKzhFQTJoZzE0a29H?= =?utf-8?B?WUhGTHR6QU5pVWM3MHlKclJ1WDhTQWtZeTY2OURGQ0NjOGh3Ym5sQko2M3dK?= =?utf-8?B?MUVtbEQ3Mm5GUmxLRGsrV25lbkNWOVBQazZLSHdra2hDQzAweEFrWUpUU3FS?= =?utf-8?B?c1BVa3FZRnljenp3NHZTc0JhbDJqTTJCU2VPMnNQWWFPeGhvTUpyNVVPQU91?= =?utf-8?B?L0hsYzNVVFVrckVrOUxyQ0tTT053enVHSkJkZWxwYWFaMmRyZi9TNGcvNWdQ?= =?utf-8?B?RGpaQlh4ZGluenJVUnJoSURBNS84eG12RUJSSVllQ29hRUhZVXFBb0dxanFH?= =?utf-8?B?Tzh4OUQ2WXJmQW9ZZ0hSZ3BQRTl4VWFCTG1ESWc5YjA0TnRwTHEvblRCWFF5?= =?utf-8?B?WER0bjg5c1pLeUlETlNhVElhVDNKTG02d0dzaGMwcWszNUR5VFJTamJsai95?= =?utf-8?B?djNERVBUYTV6bjhUTm91U2FwQ1B5ZFBsYVhGWE9lQitoNitOOVF0emJ2TUdT?= =?utf-8?B?OXMrNjF2RzYrQkhtQWhQWFVkRU82aWhoNGJYZ1Z3a2ttWUJNR002NTBMSnhZ?= =?utf-8?B?akJGc2NFTFBmbStGdjRIdm5CdVl1QUlhT1F1bnhiK29yUDlwYjNTY3pzdER6?= =?utf-8?B?S3hiYkN2bnRlV1U3anI5c2tseEU4REpyR3lRVjc0TnNmTEpBRXl6WWFhZEhO?= =?utf-8?B?M2NRNG9zeGRodkFWa09rTW1vTnRsT0NnTlhVUnBIdVZvYW80UXNaelJzTVF5?= =?utf-8?B?RjBnZ3JNRzBaYVdRb3NzUGtXYjBwRXRtNUdoQThWN3p4VlRabG01Z280dHRW?= =?utf-8?B?K2t3bWk4bDB5TmxEclJuZzcxUVRPQzh4SXd0cmtqNExxTU9JbXY4Y0NwMzBx?= =?utf-8?B?TVlGenRwZUtTZTB5KzJKWEIwc0FNcnR3QnJ0RjNvR3B1TTNDb1pVcTJkNDBF?= =?utf-8?B?MytMODRiekdsclVSOVUrN3A5RndPdnd6SS9iK1g0anRUZW1QUnI3MFVGSzNv?= =?utf-8?Q?i7uLNntMVbFFDyNZjorN8?= X-Forefront-PRVS: 03283976A6 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(39400400002)(39410400002)(39850400002)(6486002)(76506005)(50466002)(33646002)(23676002)(36756003)(305945005)(6496005)(54906002)(6306002)(7416002)(53936002)(4326008)(5660300001)(25636003)(6116002)(3846002)(1076002)(72206003)(42186005)(50986999)(966005)(478600001)(38730400002)(47776003)(50226002)(6666003)(81166006)(25786009)(42882006)(2906002)(2870700001)(66066001)(5416004)(189998001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM2PR0701MB1278;H:localhost;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjA3MDFNQjEyNzg7MjM6NGZ4U3c4VUxVWFFqZ09yZHRCTVZ5VHY3?= =?utf-8?B?bVozZmg0ZklMU29lVUpIRDE0S2gxN0w0VHVDWVFyeWdoWldkUFBFUU5Nd2tX?= =?utf-8?B?dmEzN1JQNkhlL0dlWXZhSkU1OEluMkFTOUxXTGc5TFFlUnRBWEFNM2xsNU0w?= =?utf-8?B?TGdwTmlmYVc4UmY5RVhnNEk0QnZpRWU5RElCdnRhOTFuQ2RYWlphVStzMSt3?= =?utf-8?B?UEZscWpnRzlqUVBKbytoWUVPTGhNL0lINTZ0VnN3eFZmbFNhTE1ZQnV1WE01?= =?utf-8?B?b0hmeWxpc2hUR2pmY3FJU0FlT3V6NTVGK1hxVnpxMS82WlJnTWlyNnNpODBU?= =?utf-8?B?ZFhEck1VVDkyMi8va1pmUXRVNTF6U0NnZ3JGME9MR2tZZzVqQzEyVTY2Znhl?= =?utf-8?B?YVAvYkpwQklNRlExSU5zK2VYdEZEdk5hNyt2WVNWZEc5ZG9XdDdIRmRPSHhx?= =?utf-8?B?bytwb0ExbHJUT0ZKTGs0MDRsVkFBbzJ1aCtEMCtTMDBtV1piVUVBLy81WDhq?= =?utf-8?B?N0xaK0ptNmJ6V1Z4dVJTZkQ3OCthcHcraUNNdWJESXhzcnAvMkRRR29wOWt2?= =?utf-8?B?UEl4V3hwdmNiTDJ1cWtDUWIxVW5nSkgwd2lrR2ZmTndSU0NuaG5XeU5iVUVN?= =?utf-8?B?WlVlTlNFTmJlcHBXL25ESmY3S3Zrc0RGcVJ0NjhNQTZ1SUJCTldxOXRTQURT?= =?utf-8?B?WXhSM1hnMitxcVJ0WWRic0h4UEJseEJaaktaeURMODhWb2JNL3ExeE1UK1U3?= =?utf-8?B?K3ZyQ3E3VkVOaTJCQ0RVQVg0K0RPbUZiTlhIRDJxaGo4RXJPZUVpZDg3WVJ1?= =?utf-8?B?T3RVRmY3RjVYZWR5YnR3emsxQUlMOGNNcUtXZDJFM3lHZkxWUk10elpVbGpq?= =?utf-8?B?ZitYdFRsT0xtNDdCTXNpMU0zQk1UTWwwSTc3ZjltckVlOGxWaHc3S1krdHkz?= =?utf-8?B?dXNGRnhqUFVjeUZIL1pkbUZEdkV3V2t0aEQrY0QreExLNkp2UDloR1NiZThq?= =?utf-8?B?VE5iVzRWamFyVitxV1Z1RDBMT0lPTHNkOFFqOVBhQWFGcjRHNk5oeU15SWRL?= =?utf-8?B?Q1Z6TG5BNUFIRTUyMzE4Sm9GWEhBV2FmVEV0clJCdWhPdWZZVmdqWUJjWHdY?= =?utf-8?B?dHJJU0hxYWhvVUhyY3FkWVNoZ0tDVDREcUlUQ2VVdG5jOUNaV3pRdUV3RW9p?= =?utf-8?B?NUk0aFlSV0ZrWndHMXZ1TGZ4YzE2aHM5MnFzdEx4ZGV1T0FmQkY1NUR5eWNB?= =?utf-8?B?V0F6VGtPYzVabGt3T1dhQmZrT0FiUUw0MXlKdk9aZzJOS0podnV1WjBGTXo4?= =?utf-8?B?bVBpTkRkSWNlS1JlQ1E1WnBramdtYjJDMWNLNlh0dG9HSUhPcjlGeEhxczRt?= =?utf-8?Q?H8T+zJWZRp?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0701MB1278;6:SkXXpD8I9miGhppIYmtVHBAbOmrfyry2C7y7wfuNV+U8x8corS9u1EXFgUM8adY491CEEjmSUvFJ/cWHWeV6WqL/8Mw6OwtDOn0FRgfA7pIfpUz+yNZ/wYLEIdMahIoeBnnU/CrdHwUyhiEgUic4w2WzkD2ecBP4UnYesahcIiwS0w4qqvxqc7q2N/ZIgbeCq520WBcD6fNyBlWf0ZgldTD7yXzl+Sw3FD9wlFD+Gqy01ejPafapybDD1ZwLXjZV0hiJjl2j17Zzn3ILAm7lFBh1jHYB944UelrnF98yrNlNp3tgFBpEpNV5ZDz/ibCa9JZPbzTmPvbS/7wMu2HHRToVRiHlT1b4WHtTUBvDYkNRM7KulNCac2Kds9bf/LXdir+B+ztpQRGt07hHR2dka4HOpzoI6RxLwsiy2GuG1JBcHrME4fKJKwD/3syMGBC6rmq+2O8oeJXgBaVZiVVocMs4Z+HX4JAPY4h1vVSDgmoBrliYRjVgnLHwvxjl1REK8DXKI9GY4eXlY3nA18G/uA== X-Microsoft-Exchange-Diagnostics: 1;DM2PR0701MB1278;5:gaByoXIWXIp7DFhs6U41zmR/VtyDc3rVmW2b9Ak4I9ipNy2F7IYKTbtabiHz734rALhYMzK6lNeV6nlCW345on9C+XyNd70k8rlwAl9D6y18BBord4cIdJvRz7i1FpTdDqTVF7xpMAmm8cc0Q4wJE2GJMOJIjTbpJh5duxY/T2ARu0ctoCcXAh0ZsEdU/eX1JwYK1Yj3qeyFx/2zFTOUo4bDjJur1tCKIidb0kR7W0sl7fampcOqIUm2R0pkbiGNT7j1oD7rDiQQ5Z0KbW0grSvMBbmreUIsUUz2ags0BxGtspxxCkBlAmoQszUktNhvuAr9bVWZ3dBj5M3vksASghZMcyy8jxtmaGopgPLZoMfVpyjRKBaC1VPfXMsyQjeRXqjTLc1Rzr+1w/xdcsKRnt1v2GvHaWoxrVvZO8+Lw6yOlHPtT9mxGo9bBh8QPkFgXRB+AtH+ZU6elYimfUwJnesBNIrjguiNw6XUZQkJGUJE6KPFkwl25DomBa0aVnal;24:/QeCuuBLeydbVjBgeiXDn1DbpnzAOO5WxaJdu6NzDIBKjCMDZZ/UR18HwMj8vu7vNbpS4KzWwYO3xBCKkgTWdEMpACaRg4DiROiKWc9Xe7A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM2PR0701MB1278;7:a1FepcAb4sKOVUfEYkCgOXMTxZls8c3Y15lXZCMOO+zdZxZFVzWqqqLBWBUgKnE7yQgqdhSsLGrtkWr0QpepDDn2r0HvsHHCUjYYfNCym/lqzv3UhIoMHqvN0auBAPuWa2usI/UHriCPjQ0RSSn9om6bY9Ks2mngozkeT/D9X18Co4igU+I5TXEDGvHx7yk3MksYNt6UByJ7m9tE4TQKiP14Qqu1TsHC23lZ/gcToSuRmZWfjP0+VPIzBBiQO2rRvO/GcLbHwnmLk8a/jpr2XrYYwbWuhqKJcdh4EgFyUJbe1KjVnbZVtB2zO0vuhcJzuYb3c4D8BkNNCdJaelBX6w== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2017 12:00:22.6792 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0701MB1278 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Subject: [PATCH v7 resend 2 00/20] ILP32 for ARM64 Hi Catalin, Here is a rebase of latest kernel patchset against next-20170602. There's almost no changes, but there are some conflicts that are not trivial, and I'd like to refresh the submission therefore. How are your experiments with testing and benchmarking of ILP32 are going? In my current tests I see 0 failures on LTP. Benchmarking on SPEC CPU2006 and LMBench shows no difference for LP64 and expected performance boost for ILP32 (compared to LP64 results). Steve Ellcey is handling upstream submission of Glibc patches. The patches are ready and have been reviewed and reworked per community’s comments. There are no outstanding userspace ABI issues from Glibc. Glibc submission is now waiting on ILP32 kernel submission. Catalin, regarding rootfs, is OpenSuSe’s build sufficient for your experiments? I’ve also seen Wookey merging patches for ILP32 triplet to binutils and pushing them to Debian. One last thing I wanted to check with you about is ILP32 PCS - does, in your view, ARM Ltd. needs to publish any additional docs for ABI to become official? Below is the regular description. Thanks. Yury -------- This series enables aarch64 with ilp32 mode. As supporting work, it introduces ARCH_32BIT_OFF_T configuration option that is enabled for existing 32-bit architectures but disabled for new arches (so 64-bit off_t is is used by new userspace). Also it deprecates getrlimit and setrlimit syscalls prior to prlimit64. This version is based on linux-next from 2017-03-01. It works with glibc-2.25, and tested with LTP, glibc testsuite, trinity, lmbench, CPUSpec. Patches 1, 2, 3 and 8 are general, and may be applied separately. This is the rebase of v7 - still no major changes has been made. Kernel and GLIBC trees: https://github.com/norov/linux/tree/ilp32-20170602 https://github.com/norov/glibc/tree/dev9 (GLIBC patches are managed by Steve Ellcey, so my tree is only for reference.) Changes: v3: https://lkml.org/lkml/2014/9/3/704 v4: https://lkml.org/lkml/2015/4/13/691 v5: https://lkml.org/lkml/2015/9/29/911 v6: https://lkml.org/lkml/2016/5/23/661 v7: RFC nowrap: https://lkml.org/lkml/2016/6/17/990 v7: RFC2 nowrap: https://lkml.org/lkml/2016/8/17/245 v7: RFC3 nowrap: https://lkml.org/lkml/2016/10/21/883 v7: https://lkml.org/lkml/2017/1/9/213 v7: Resend: http://lists.infradead.org/pipermail/linux-arm-kernel/2017-March/490801.html v7: Resend 2: - vdso-ilp32 Makefile synced with lp64 Makefile (patch 19); - rebased on next-20170602. Andrew Pinski (6): arm64: rename COMPAT to AARCH32_EL0 in Kconfig arm64: ensure the kernel is compiled for LP64 arm64:uapi: set __BITS_PER_LONG correctly for ILP32 and LP64 arm64: ilp32: add sys_ilp32.c and a separate table (in entry.S) to use it arm64: ilp32: introduce ilp32-specific handlers for sigframe and ucontext arm64:ilp32: add ARM64_ILP32 to Kconfig Philipp Tomsich (1): arm64:ilp32: add vdso-ilp32 and use for signal return Yury Norov (13): compat ABI: use non-compat openat and open_by_handle_at variants 32-bit ABI: introduce ARCH_32BIT_OFF_T config option asm-generic: Drop getrlimit and setrlimit syscalls from default list arm64: ilp32: add documentation on the ILP32 ABI for ARM64 thread: move thread bits accessors to separated file arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat) arm64: ilp32: add is_ilp32_compat_{task,thread} and TIF_32BIT_AARCH64 arm64: introduce binfmt_elf32.c arm64: ilp32: introduce binfmt_ilp32.c arm64: ilp32: share aarch32 syscall handlers arm64: signal: share lp64 signal routines to ilp32 arm64: signal32: move ilp32 and aarch32 common code to separated file arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32 Documentation/arm64/ilp32.txt | 45 +++++++ arch/Kconfig | 4 + arch/arc/Kconfig | 1 + arch/arc/include/uapi/asm/unistd.h | 1 + arch/arm/Kconfig | 1 + arch/arm64/Kconfig | 19 ++- arch/arm64/Makefile | 8 ++ arch/arm64/include/asm/compat.h | 19 +-- arch/arm64/include/asm/elf.h | 37 ++---- arch/arm64/include/asm/fpsimd.h | 2 +- arch/arm64/include/asm/ftrace.h | 2 +- arch/arm64/include/asm/hwcap.h | 6 +- arch/arm64/include/asm/is_compat.h | 90 ++++++++++++++ arch/arm64/include/asm/memory.h | 5 +- arch/arm64/include/asm/processor.h | 11 +- arch/arm64/include/asm/ptrace.h | 2 +- arch/arm64/include/asm/seccomp.h | 2 +- arch/arm64/include/asm/signal32.h | 9 +- arch/arm64/include/asm/signal32_common.h | 27 ++++ arch/arm64/include/asm/signal_common.h | 33 +++++ arch/arm64/include/asm/signal_ilp32.h | 38 ++++++ arch/arm64/include/asm/syscall.h | 2 +- arch/arm64/include/asm/thread_info.h | 4 +- arch/arm64/include/asm/unistd.h | 6 +- arch/arm64/include/asm/vdso.h | 6 + arch/arm64/include/uapi/asm/bitsperlong.h | 9 +- arch/arm64/include/uapi/asm/unistd.h | 13 ++ arch/arm64/kernel/Makefile | 8 +- arch/arm64/kernel/asm-offsets.c | 9 +- arch/arm64/kernel/binfmt_elf32.c | 38 ++++++ arch/arm64/kernel/binfmt_ilp32.c | 85 +++++++++++++ arch/arm64/kernel/cpufeature.c | 8 +- arch/arm64/kernel/cpuinfo.c | 20 +-- arch/arm64/kernel/entry.S | 34 +++++- arch/arm64/kernel/entry32.S | 80 ------------ arch/arm64/kernel/entry32_common.S | 107 ++++++++++++++++ arch/arm64/kernel/entry_ilp32.S | 22 ++++ arch/arm64/kernel/head.S | 2 +- arch/arm64/kernel/hw_breakpoint.c | 8 +- arch/arm64/kernel/perf_regs.c | 2 +- arch/arm64/kernel/process.c | 7 +- arch/arm64/kernel/ptrace.c | 80 ++++++++++-- arch/arm64/kernel/signal.c | 102 ++++++++++------ arch/arm64/kernel/signal32.c | 107 ---------------- arch/arm64/kernel/signal32_common.c | 135 ++++++++++++++++++++ arch/arm64/kernel/signal_ilp32.c | 170 ++++++++++++++++++++++++++ arch/arm64/kernel/sys_ilp32.c | 100 +++++++++++++++ arch/arm64/kernel/traps.c | 5 +- arch/arm64/kernel/vdso-ilp32/.gitignore | 2 + arch/arm64/kernel/vdso-ilp32/Makefile | 80 ++++++++++++ arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S | 33 +++++ arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S | 95 ++++++++++++++ arch/arm64/kernel/vdso.c | 69 +++++++++-- arch/arm64/kernel/vdso/gettimeofday.S | 20 ++- arch/arm64/kernel/vdso/vdso.S | 6 +- arch/blackfin/Kconfig | 1 + arch/c6x/include/uapi/asm/unistd.h | 1 + arch/cris/Kconfig | 1 + arch/frv/Kconfig | 1 + arch/h8300/Kconfig | 1 + arch/h8300/include/uapi/asm/unistd.h | 1 + arch/hexagon/Kconfig | 1 + arch/hexagon/include/uapi/asm/unistd.h | 1 + arch/m32r/Kconfig | 1 + arch/m68k/Kconfig | 1 + arch/metag/Kconfig | 1 + arch/metag/include/uapi/asm/unistd.h | 1 + arch/microblaze/Kconfig | 1 + arch/mips/Kconfig | 1 + arch/mn10300/Kconfig | 1 + arch/nios2/Kconfig | 1 + arch/nios2/include/uapi/asm/unistd.h | 1 + arch/openrisc/Kconfig | 1 + arch/openrisc/include/uapi/asm/unistd.h | 1 + arch/parisc/Kconfig | 1 + arch/powerpc/Kconfig | 1 + arch/score/Kconfig | 1 + arch/score/include/uapi/asm/unistd.h | 1 + arch/sh/Kconfig | 1 + arch/sparc/Kconfig | 1 + arch/tile/Kconfig | 1 + arch/tile/include/uapi/asm/unistd.h | 1 + arch/tile/kernel/compat.c | 3 + arch/unicore32/Kconfig | 1 + arch/unicore32/include/uapi/asm/unistd.h | 1 + arch/x86/Kconfig | 1 + arch/x86/um/Kconfig | 1 + arch/xtensa/Kconfig | 1 + drivers/clocksource/arm_arch_timer.c | 2 +- include/linux/fcntl.h | 2 +- include/linux/thread_bits.h | 63 ++++++++++ include/linux/thread_info.h | 66 ++-------- include/uapi/asm-generic/unistd.h | 10 +- 93 files changed, 1601 insertions(+), 413 deletions(-) create mode 100644 Documentation/arm64/ilp32.txt create mode 100644 arch/arm64/include/asm/is_compat.h create mode 100644 arch/arm64/include/asm/signal32_common.h create mode 100644 arch/arm64/include/asm/signal_common.h create mode 100644 arch/arm64/include/asm/signal_ilp32.h create mode 100644 arch/arm64/kernel/binfmt_elf32.c create mode 100644 arch/arm64/kernel/binfmt_ilp32.c create mode 100644 arch/arm64/kernel/entry32_common.S create mode 100644 arch/arm64/kernel/entry_ilp32.S create mode 100644 arch/arm64/kernel/signal32_common.c create mode 100644 arch/arm64/kernel/signal_ilp32.c create mode 100644 arch/arm64/kernel/sys_ilp32.c create mode 100644 arch/arm64/kernel/vdso-ilp32/.gitignore create mode 100644 arch/arm64/kernel/vdso-ilp32/Makefile create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S create mode 100644 include/linux/thread_bits.h -- 2.11.0