From patchwork Fri Oct 4 20:26:28 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 13822977 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80D65CF8857 for ; Fri, 4 Oct 2024 20:29:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id F14C46B0285; Fri, 4 Oct 2024 16:29:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E9C4A6B028A; Fri, 4 Oct 2024 16:29:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CEF3A6B0286; Fri, 4 Oct 2024 16:29:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id A911D6B0276 for ; Fri, 4 Oct 2024 16:29:27 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 30C16161AD1 for ; Fri, 4 Oct 2024 20:29:27 +0000 (UTC) X-FDA: 82637059974.20.AD94AA5 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf05.hostedemail.com (Postfix) with ESMTP id 5640D100006 for ; Fri, 4 Oct 2024 20:29:25 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=DQjqsV9Z; spf=pass (imf05.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728073699; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=s3aYyXsKB0+xzODj/FoX6oW5lI67PBEatcNQS9wJNEw=; b=IDC3b4E3ZRW0yM5CCVeZRDJiY/tAzOwGOXYcay4mrGREeS9qRtE/Ju1OZBJfyzgfv4MQ83 C01yIxLVGfM19K31uplsk8lVRNfxqfG5fZcLKHiiV8vZuTmkEqlx1zbRHVOp8SIyChBpCl R/Y821e0o3JisQf/sKleB+ciKNl5iSM= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=DQjqsV9Z; spf=pass (imf05.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728073699; a=rsa-sha256; cv=none; b=7wZyjuJbXGJMYe1q0GIYHZl2fVQsVEduWXaslsAwVqw3sFjWQNLK15ihbgCwV5uPcZgqG3 51sTdYuNjwu9MYnL5GClmcGaYimy50DdQJGveAPSKyDm+qBkKcD7JJue9dVSL5PvXKYBCN NhiQ2cxqpC44xvQigOLhFaXurI06gyc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 0CAAC5C58DE; Fri, 4 Oct 2024 20:29:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBD1CC4CEC6; Fri, 4 Oct 2024 20:29:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1728073763; bh=XHZLQD1ErzRyqIdudTG5gz6C2Niq7KA9cBpxBxsq1PM=; h=From:Subject:Date:To:Cc:From; b=DQjqsV9ZyLP+OLobIy07JccH8vO2TK7+oKw1U5fWy4wesiHf7Cz3oyTHXkMgdyFrK gZ10jSl56ehxhOVGaMA4VLHZtY+gT21RzncgbNTejypeNz3Y0Xzo03Mqfiv9KDdxKc 5GtozZwzwU4cnf58v8P775bAHqj5DhMFwrSRBX37DAY667GNf+wY9Gg7XVskUIc3Z0 j1X6HO8sINK4YDw8ODqVI3ViVvm5rmMwRuveHYSJAtICdq+qFDOJ8JCtv9haQs/ycM r/lWe+caGEg2i1x2QG0rZA0HeUBs93FKrY3wiUJL9b2f7JerxYGsn9MVL5HXmaFHxR 59TZT9/QlFMdQ== From: Mark Brown Subject: [PATCH RFC v2 0/2] arm64: Add infrastructure for use of AT_HWCAP3 Date: Fri, 04 Oct 2024 21:26:28 +0100 Message-Id: <20241004-arm64-elf-hwcap3-v2-0-799d1daad8b0@kernel.org> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIAHRPAGcC/2WNzQqDMBCEX0X23C3RGH96KhT6AL0WD0FXDVUjm 5K2SN69QXrr8ZthvtnAERtycEo2YPLGGbtEyA4JtKNeBkLTRYZMZLmohULNc5EjTT2Or1avEst S1K1StexkDnG2MvXmvSvvcLteoInhaNzT8me/8ele/YzFv9GnKLDq+lQrKqQS1flBvNB0tDxAE 0L4AvB+mga2AAAA X-Change-ID: 20240905-arm64-elf-hwcap3-7709c5593d34 To: Alexander Viro , Christian Brauner , Jan Kara , Eric Biederman , Kees Cook , Catalin Marinas , Will Deacon , Jonathan Corbet Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yury Khrustalev , Wilco Dijkstra , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, Mark Brown X-Mailer: b4 0.15-dev-9b746 X-Developer-Signature: v=1; a=openpgp-sha256; l=2178; i=broonie@kernel.org; h=from:subject:message-id; bh=XHZLQD1ErzRyqIdudTG5gz6C2Niq7KA9cBpxBxsq1PM=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBnAFAe7saB3zi5hDCkIVqUtEaorraDTp3QVFiYEQoL if1JERqJATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCZwBQHgAKCRAk1otyXVSH0FHHB/ 9+tUh1y+t4MdvijrHJlvp3/g3m9azLRNbbXAVxebaU4mpT/rTRb5MktPyAJf7u8R6k9h2PRkWhTGfR TYQOfK/iUJxoMO19RYWweJ7n6J0/GIrdDcYhLTKaAGwBmZ8FKJJt79Wa+D6KmITPFeW2sdDjaAjAWa E7eLXoSG7TQW0c3IJu2xm+Uza2+WBRsZpV2wgIkkOenzkdj3mPE8UtxWYGEdzT5vE52QLRoipF2o9B bEAoKhzLoq5bhFR+BDDX+BnE04GtT+mUzds9Aq9NDvw66htgkkgKlEonir8/EotyE/WWCB5Fs9Rw+K vQs1YdMhSTFQeWGm6wDjNv2V/4q7a1 X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 5640D100006 X-Stat-Signature: ddgdhag31t5uzbtzfbiq7hiqrwwgw5bq X-HE-Tag: 1728073765-568994 X-HE-Meta: U2FsdGVkX1/dwUlcAqHkJ4NV6PqzW7uj6WBKPivnfgRSxWX+ouhMsFfHvnTSoxqeO6J4aYqIM4GwR28BKODIBic+DdBTWQWERtsCdev06x1Ly0kEPFRB9arhDSdluFKb/lR5lVvzukmlfuA8PIH4SMb14Qq+YtXtrmGq7vLHjJ9gYj9IvBNEdvy8oLq1Wr+pTYJNJ12otRJyhx+f6Z9kTP7LkJCYJb2sdhZaNkk0lBC5CDX12VV4Dz2/fOU+5tay0dkzVn/TRKhtZ5LtfyNd4G+sS4Qx1ugn6v//dIalxUuxuVv4EisObJr+g77Sf1R+V7XeWE0F3bMwCSpl0W8Lc9PrZO9SQsTOVnt7QrGgFDYFOTjj8ZtAH4YctLsbM579ryhtOvoRYj6ctIeQ5zv8lbnCrEhnKq1jSvu4gzUgYWY0xKFjqN+FnAeHnZgy5+ThHE/pQClVZ95wl3Ye+mSZHhkrWM9DEtzMdBTsZdA3pxYBOLXcqZZjhq7DgyaAX6un6Geh8OUdTlpUVfg9oDr/gnONaNyr8/X1Us8oIS0J+4ZtQjyvEuL1qqROO0MXs4FGT+MIFKQgqhD/TCcGkpJccVrdrjo9aoFlbdEcWjA8hRon03lDHGQRgdNK3VF85DrAWzg+BEs0r3Wn5BToaUMDVd9wT+qVmWyvgoYMinxTyc+7R3HGcmYEeuYA8OI/Wp+mzmN1uSyo0UaY+jR/w2ivmBPgL2I3tJDw2ea+Uq2ZUEVrFKtHICRpvi6U5gCZSwbGNFVmnX+SxDEnHDfyimbYPZq61KsQw2Mru1y5XOXVFzolfhp8UgKPNYwKDkfD4iPXbIDiAA4pXRXpofkknIgSyfzz/ijMfOa9Q/5pvVvi0W4IAZYD3r0+YGWDtc2pQ00z/c2r+9DUD3i60Sfyx6shlbzLv5hX2Tajt7Wh60TtsopTUC0ElDcEbMZvyN8I5jJWl/nPMg24EYCJBJ4IFiT 7yE+/V87 Sk33FygXHLC5awVdJEp1et03lesUYhRYh2nsB21PVpXmsuqlP2sEN9M2Upb4f9qqWspX5pho2/EyKtM1putYdvxQzQEuB+NJGIGeS4kao9CzIko0kDmWxvY8RzMC5Uk+r3zmx1bshzriFuvA5yZOzUmgOy/SMlReMiwKD0CEuE2+B7Sr4J10NcbwfAxwOiXFnnbKeTOyJtnivl3wvbFhBwcpjp5IQ+A9HM/Zxu35Lxzx2FPI8YzloX2/GBGLYtxTHj7II5Nn95Bn2/poF6RBhRsyfUTc5gikiiqKdrumrlxt1nVY= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Since arm64 has now used all of AT_HWCAP2 it needs to either start using AT_HWCAP3 (which was recently added for PowerPC) or start allocating bits 32..61 of AT_HWCAP first. Those are documented in elf_hwcaps.rst as unused and in uapi/asm/hwcap.h as unallocated for potential use by libc, glibc does currently use bits 62 and 63. This series has the code for enabling AT_HWCAP3 as a reference. While we've decided to go with using the high bits of AT_HWCAP for now we will exhaust those at some point so it seems helpful to have this code available in order to make life easier when we do need to start using AT_HWCAP3. This seems like it might come up relatively quickly, for the past few years the dpISA has used ~15 hwcaps due to the fine grained feature definitions and the fact that SVE and SME need independent definitions of everything. When we do start using HWCAP3 we'll potentially have multiple serieses that need to share the addition so it seems like it might be helpful to have the scaffolding in place at least the release before it's actuallly required in order to make things more managable. That's not an issue *now* but could come up surprisingly quickly. Signed-off-by: Mark Brown --- Changes in v2: - Rebase onto v6.12-rc1. - Fix cut'n'paste 3/4 issues. - Link to v1: https://lore.kernel.org/r/20240906-arm64-elf-hwcap3-v1-0-8df1a5e63508@kernel.org --- Mark Brown (2): binfmt_elf: Wire up AT_HWCAP3 at AT_HWCAP4 arm64: Support AT_HWCAP3 Documentation/arch/arm64/elf_hwcaps.rst | 6 +++--- arch/arm64/include/asm/cpufeature.h | 3 ++- arch/arm64/include/asm/hwcap.h | 6 +++++- arch/arm64/include/uapi/asm/hwcap.h | 4 ++++ arch/arm64/kernel/cpufeature.c | 6 ++++++ fs/binfmt_elf.c | 6 ++++++ fs/binfmt_elf_fdpic.c | 6 ++++++ fs/compat_binfmt_elf.c | 10 ++++++++++ 8 files changed, 42 insertions(+), 5 deletions(-) --- base-commit: 9852d85ec9d492ebef56dc5f229416c925758edc change-id: 20240905-arm64-elf-hwcap3-7709c5593d34 Best regards,