From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com ([217.140.101.70]:53966 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727261AbeIJOfR (ORCPT ); Mon, 10 Sep 2018 10:35:17 -0400 Subject: Re: [PATCH AUTOSEL 4.14 49/89] ARM: 8783/1: NOMMU: Extend check for VBAR support To: Sasha Levin , "stable@vger.kernel.org" , "linux-kernel@vger.kernel.org" Cc: Russell King References: <20180902064918.183387-1-alexander.levin@microsoft.com> <20180902064918.183387-49-alexander.levin@microsoft.com> From: Vladimir Murzin Message-ID: <0cee99b8-fd6d-43b5-e553-2df2939bf40e@arm.com> Date: Mon, 10 Sep 2018 10:42:05 +0100 MIME-Version: 1.0 In-Reply-To: <20180902064918.183387-49-alexander.levin@microsoft.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: On 02/09/18 14:07, Sasha Levin wrote: > From: Vladimir Murzin > > [ Upstream commit c803ce3f18bd93b3b4a15d1da0c5b5ebc60e0b85 ] > > ARMv8R adds support for VBAR and updates ID_PFR1 with the new filed > Sec_frac (bits [23:20]): > > Security fractional field. When the Security field is 0000, determines > the support for features from the ARMv7 Security Extensions. Permitted > values are: > > 0000 No features from the ARMv7 Security Extensions are implemented. > This value is not supported in ARMv8 if ID_PFR1 bits [7:4] are zero. > > 0001 The implementation includes the VBAR, and the TCR.PD0 and TCR.PD1 > bits. > > 0010 As for 0001, plus the ability to access Secure or Non-secure > physical memory is supported. > > All other values are reserved. > > This field is only valid when ID_PFR1[7:4] == 0, otherwise it holds > the value 0000. > > Signed-off-by: Vladimir Murzin > Signed-off-by: Russell King > Signed-off-by: Sasha Levin > --- > arch/arm/mm/nommu.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/mm/nommu.c b/arch/arm/mm/nommu.c > index 91537d90f5f5..08794bb0cada 100644 > --- a/arch/arm/mm/nommu.c > +++ b/arch/arm/mm/nommu.c > @@ -305,7 +305,8 @@ static inline bool security_extensions_enabled(void) > { > /* Check CPUID Identification Scheme before ID_PFR1 read */ > if ((read_cpuid_id() & 0x000f0000) == 0x000f0000) > - return !!cpuid_feature_extract(CPUID_EXT_PFR1, 4); > + return cpuid_feature_extract(CPUID_EXT_PFR1, 4) || > + cpuid_feature_extract(CPUID_EXT_PFR1, 20); > return 0; > } > > NAK - it is not stable material. Thanks Vladimir