Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1001919ybb; Fri, 20 Mar 2020 11:36:59 -0700 (PDT) X-Google-Smtp-Source: ADFU+vv2/sxrqnJ/05yg4lfoVYGNvpnpX5UTD37btMyWq4NzslQy+7y5KQZtx3w0LdMTCFz1GGNk X-Received: by 2002:a05:6830:8d:: with SMTP id a13mr941788oto.321.1584729419334; Fri, 20 Mar 2020 11:36:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584729419; cv=none; d=google.com; s=arc-20160816; b=luzjap5RWPJSujpWlc7rgmihI3BsBGp9JLl8RjvqJjdFOJw7dYbAAUdcYTRB0QAIWK lUGO6IaX1qMt7xg4Pe6v94QYlFxaKsj22ErWLvVoDznKfY4Lf/biDWbGkcOivsOoPNnC cFpefARG57W7lkCxgKN6jKDf41Mrg/FdcDTLwGAlvFuXhCXeXIXgMtsBdRzhlns9eA4R KSL/zjr+5lXmsF85D6irBhaBNspqRWb1oyt+mo1+8FNuGprcs3DVrsFQ9ZoW4yfFKi8Z b8gC4nC1eY0QJQ5TSrjbpUBR2Eoh13oDmwdMWDJDarWOtbGGzBdc6W31oxTfB0ifB6V6 sbhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject; bh=aNaoeTZdEhl2Ow1ozgzO6y5e+SdQhDxtvFejOeFiyuk=; b=kgCR24/xLYvyUdlPGQi3dv9u+iQRKaujXdPJDGjO+qdT1e4A8kBsZcqZt42SQWNCE7 XMpiqSHrWyWF/Trqe9jfo+kw9up5pu2cLmmEOrDpPgnRtvMzhH7Z6xBcb40tzUOvmASO y+W+mcUS00IdzuCJyPrIae82keJvOa3eTG3XtZ+QhkL3hk2z3VzqJPDueMVDGDSdG9Dt 5Mjt/Ekw4HgiHQcCNl9Qb1+CSQpbb1e1aSEHXvIyo4iUAdjSSnAX0TVzzKh8bmr/7rML A4SFjWW7Wv0QRfCT+smfWU6VzZivSUvG8RDpfS8yGB8385dIBOF/uAvnDuSu54rpv7F+ D0HQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s11si3657073otp.95.2020.03.20.11.36.46; Fri, 20 Mar 2020 11:36:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727232AbgCTSfz (ORCPT + 99 others); Fri, 20 Mar 2020 14:35:55 -0400 Received: from foss.arm.com ([217.140.110.172]:55660 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726829AbgCTSfw (ORCPT ); Fri, 20 Mar 2020 14:35:52 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A86C01FB; Fri, 20 Mar 2020 11:35:51 -0700 (PDT) Received: from [10.37.12.158] (unknown [10.37.12.158]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DB0AF3F305; Fri, 20 Mar 2020 11:35:49 -0700 (PDT) Subject: Re: [PATCH 6/6] arm64/cpufeature: Replace all open bits shift encodings with macros To: anshuman.khandual@arm.com, linux-arm-kernel@lists.infradead.org Cc: catalin.marinas@arm.com, will@kernel.org, maz@kernel.org, mark.rutland@arm.com, james.morse@arm.com, linux-kernel@vger.kernel.org References: <1580215149-21492-1-git-send-email-anshuman.khandual@arm.com> <1580215149-21492-7-git-send-email-anshuman.khandual@arm.com> From: Suzuki K Poulose Message-ID: Date: Fri, 20 Mar 2020 18:40:34 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <1580215149-21492-7-git-send-email-anshuman.khandual@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/28/2020 12:39 PM, Anshuman Khandual wrote: > There are many open bits shift encodings for various CPU ID registers that > are scattered across cpufeature. This replaces them with register specific > sensible macro definitions. This should not have any functional change. > > Cc: Catalin Marinas > Cc: Will Deacon > Cc: Marc Zyngier > Cc: Mark Rutland > Cc: James Morse > Cc: Suzuki K Poulose > Cc: linux-kernel@vger.kernel.org > Signed-off-by: Anshuman Khandual > --- > --- a/arch/arm64/kernel/cpufeature.c > +++ b/arch/arm64/kernel/cpufeature.c > @@ -263,7 +263,7 @@ static const struct arm64_ftr_bits ftr_ctr[] = { > * make use of *minLine. > * If we have differing I-cache policies, report it as the weakest - VIPT. > */ > - ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_EXACT, 14, 2, ICACHE_POLICY_VIPT), /* L1Ip */ > + ARM64_FTR_BITS(FTR_VISIBLE, FTR_NONSTRICT, FTR_EXACT, CTR_L1IP_SHIFT, 2, ICACHE_POLICY_VIPT), /* L1Ip */ > ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, CTR_IMINLINE_SHIFT, 4, 0), > ARM64_FTR_END, > }; > @@ -274,19 +274,19 @@ struct arm64_ftr_reg arm64_ftr_reg_ctrel0 = { > }; > > static const struct arm64_ftr_bits ftr_id_mmfr0[] = { > - S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 28, 4, 0xf), /* InnerShr */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 24, 4, 0), /* FCSE */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, 20, 4, 0), /* AuxReg */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 16, 4, 0), /* TCM */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 12, 4, 0), /* ShareLvl */ > - S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 8, 4, 0xf), /* OuterShr */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 4, 4, 0), /* PMSA */ > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, 0, 4, 0), /* VMSA */ > + S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_INNERSHR_SHIFT, 4, 0xf), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_FCSE_SHIFT, 4, 0), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE, ID_MMFR0_AUXREG_SHIFT, 4, 0), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_TCM_SHIFT, 4, 0), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_SHARELVL_SHIFT, 4, 0), > + S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_OUTERSHR_SHIFT, 4, 0xf), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_PMSA_SHIFT, 4, 0), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_MMFR0_VMSA_SHIFT, 4, 0), > ARM64_FTR_END, > }; > > static const struct arm64_ftr_bits ftr_id_aa64dfr0[] = { > - ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, 36, 28, 0), > + ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_EXACT, ID_AA64DFR0_DOUBLELOCK_SHIFT, 28, 0), This must be a signed feature, as we have the following possible values : 0b0000 - Double lock implemented 0b1111 - Double lock not implemented. So, in case of a conflict we want the safe value as 0b1111. Please could you fix this as well ? This patch as such looks fine to me. Reviewed-by: Suzuki K Poulose