From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 84515C0015E for ; Tue, 1 Aug 2023 15:13:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=urRKuf5xvsq7B+FfSpA2fc+Vy1ccvkJ2SB2iHFQd4kE=; b=r4jJq0w0EpogGR jkKCGjiXqBj3BKm1ApTXMdBmUDfXXf0YRkEAaesrLP1m5E2Humt5kwjRHs8yAE+qLGxCknpSNsWlg 8jCkmexZ682jSv1bEgNkz+ZDI8X6PMufMsUtNOGz5K0tSAXKOHMpvksGwquqV9Kalo337B0m6xa37 qwur/e4j/y6iFGEb5GdM/iHYqo7tmw4EADj4gOa6uEy1KtSnG16LD/yQc+Tu85ssFy3wY3rZYpZOq qUAq01hJ4Tp0RuWzcjebCdV8122igI1lIMyESmrQFeocIml+8ls5bVZvSVJezhH30FWuluVqMxn9C an0XnTiw48fZdf3J+PPQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qQr38-002ggH-2f; Tue, 01 Aug 2023 15:12:38 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qQr36-002gfk-1K for linux-arm-kernel@lists.infradead.org; Tue, 01 Aug 2023 15:12:37 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C0A8B615CD; Tue, 1 Aug 2023 15:12:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45F1FC433C7; Tue, 1 Aug 2023 15:12:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1690902755; bh=Iqbnxnr/O080scFUd7WFL6rMXwl5jD3ePaJ6UMLX/dU=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=h0eOTZIXNRghbCUsDfcRzzYs6MRDZOtgEyDvyGBBbl3gkLwsSnAce1ort1Co+e5ad F6D7BvRtfOHNeiXBtbedtHh70Mj7h8uBmSiMCIPuUIr48fI4KgtTPEkTk/2jl0ERRv 6ggf51L3OJ5Kt50XRHkzGKX+oxGOOskRe1wo+cNNZ8G1q7gkHsij3NRA8mR62jxm0I 1IysmjriCoMAc+3tCXlX8JDpZNjnzIioD5v7ZV7wgVKOcQ2c2X+xLt7Op4iFno9MR0 93IOIl9tT+GFDvkgLgK8OJcjN0rMRWUXLM9TDxG9eXGgvslqAn+eIBgVJXOlLpXwGL BLZv9zrVgU0Gw== Date: Tue, 1 Aug 2023 16:12:30 +0100 From: Will Deacon To: Joey Gouly Cc: linux-arm-kernel@lists.infradead.org, nd@arm.com, catalin.marinas@arm.com Subject: Re: [PATCH v1 1/2] arm64: add HWCAP for FEAT_HBC (hinted conditional branches) Message-ID: <20230801151229.GI26253@willie-the-truck> References: <20230801100008.3125054-1-joey.gouly@arm.com> <20230801100008.3125054-2-joey.gouly@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230801100008.3125054-2-joey.gouly@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230801_081236_530807_780BFB66 X-CRM114-Status: GOOD ( 17.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hey Joey, On Tue, Aug 01, 2023 at 11:00:07AM +0100, Joey Gouly wrote: > Add a HWCAP for FEAT_HBC, so that userspace can make a decision on using > this feature. > > Signed-off-by: Joey Gouly > Cc: Catalin Marinas > Cc: Will Deacon [...] > diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c > index f9d456fe132d..ac764c1dac36 100644 > --- a/arch/arm64/kernel/cpufeature.c > +++ b/arch/arm64/kernel/cpufeature.c > @@ -222,7 +222,7 @@ static const struct arm64_ftr_bits ftr_id_aa64isar1[] = { > static const struct arm64_ftr_bits ftr_id_aa64isar2[] = { > ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_CSSC_SHIFT, 4, 0), > ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_RPRFM_SHIFT, 4, 0), > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_HIGHER_SAFE, ID_AA64ISAR2_EL1_BC_SHIFT, 4, 0), > + ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, ID_AA64ISAR2_EL1_BC_SHIFT, 4, 0), > ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, ID_AA64ISAR2_EL1_MOPS_SHIFT, 4, 0), > ARM64_FTR_BITS(FTR_VISIBLE_IF_IS_ENABLED(CONFIG_ARM64_PTR_AUTH), > FTR_STRICT, FTR_EXACT, ID_AA64ISAR2_EL1_APA3_SHIFT, 4, 0), > @@ -2844,6 +2844,7 @@ static const struct arm64_cpu_capabilities arm64_elf_hwcaps[] = { > HWCAP_CAP(ID_AA64ISAR2_EL1, RPRES, IMP, CAP_HWCAP, KERNEL_HWCAP_RPRES), > HWCAP_CAP(ID_AA64ISAR2_EL1, WFxT, IMP, CAP_HWCAP, KERNEL_HWCAP_WFXT), > HWCAP_CAP(ID_AA64ISAR2_EL1, MOPS, IMP, CAP_HWCAP, KERNEL_HWCAP_MOPS), > + HWCAP_CAP(ID_AA64ISAR2_EL1, BC, IMP, CAP_HWCAP, KERNEL_HWCAP_HBC), > #ifdef CONFIG_ARM64_SME > HWCAP_CAP(ID_AA64PFR1_EL1, SME, IMP, CAP_HWCAP, KERNEL_HWCAP_SME), > HWCAP_CAP(ID_AA64SMFR0_EL1, FA64, IMP, CAP_HWCAP, KERNEL_HWCAP_SME_FA64), > diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c > index 58622dc85917..98fda8500535 100644 > --- a/arch/arm64/kernel/cpuinfo.c > +++ b/arch/arm64/kernel/cpuinfo.c > @@ -126,6 +126,7 @@ static const char *const hwcap_str[] = { > [KERNEL_HWCAP_SME_B16B16] = "smeb16b16", > [KERNEL_HWCAP_SME_F16F16] = "smef16f16", > [KERNEL_HWCAP_MOPS] = "mops", > + [KERNEL_HWCAP_HBC] = "hbc", I'm a bit confused from the Arm ARM as to the use of "hbc" vs "bc"... I don't really mind what we go for, but given this is userspace-visible, have you run the string past the toolchain folks at all? I guess I'm wary of what a future extension might look like and whether we'll be stuck with non-architectural terminology such as "hbc2" to advertise it if we go with your suggestion here rather than "bc". Will _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel