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 X-Spam-Level: X-Spam-Status: No, score=-15.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D9C1C433DB for ; Sun, 7 Mar 2021 11:55:38 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ABD35650FD for ; Sun, 7 Mar 2021 11:55:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ABD35650FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=TG7aBmAigpBr8JmH4tF5VrijVig6Hnvkyh6GP2ceT5w=; b=pjSlw1zi8+rZqNPkRSbSk9sLQ Bw6eP0ntvFSSdGMFGz1eTPg/Bt7DNPDSBaNVMRugVs16xTdzY972rtJG8CNVDEVFA5Bg2OWF0513o 4Xc6VHG7QrE6YD/R9JpU6SZ4rMlL/g9DJHrmn1fZuwgxIdoZhom2vDSZRWTbz7MXev0ZW5q9dmDyX 43XsgL6o2tAjubBiYS2kdhyE0d/tElXkZnC3ZMfwDoq6tEmotDrQ22rjx7T+tyGf2lQtw//8zsq3o 6qHaU94k+08WyO7wjcZD3/6yjVY2bcjSXh5FPLm6rBPSohtOvyI211ZLLv7U679enD+SImFZ2KdfX miLC/h4ww==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lIrz9-009uIq-Vh; Sun, 07 Mar 2021 11:54:12 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lIrz7-009uIM-HV for linux-arm-kernel@desiato.infradead.org; Sun, 07 Mar 2021 11:54:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender :Reply-To:Content-ID:Content-Description; bh=hteadwcqjVGQD573IYWty4gvfAQqoqO5aR2xmUP7YGA=; b=NvmSjFZpj5LrFdyrcIOQ9+jrXK LvGluo5lLA3badk+MoRYT0ifZfkK0LFpa2MCnMLoYRjjdasuD7GrkBNstpvT9qWXeQpb4TiNcWLkj dJM6o6Gb0j9YMTANV2GZPpzUwTMscFOAGZWFrlMJUwonV0nKq4ueOYDmZannecFhRkE54OjKVu3oi rIvTQWw3t7+20qHaw75jAqMutP93g8EpJPZuJw9J7zoHw8cG2eS/5KdffFl8WxQgmMYb2z6yZeQGN GZnnT+xLLwnrHPjkndVShQcuZBfUNYb8tSA0YuIgEFG2OLvoRfJ8kmmTEmVeo/Y7NboCbghBo5c7y Tdm8yJag==; Received: from foss.arm.com ([217.140.110.172]) by casper.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lIrz2-00EDzI-OT for linux-arm-kernel@lists.infradead.org; Sun, 07 Mar 2021 11:54:08 +0000 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 CA147D6E; Sun, 7 Mar 2021 03:53:57 -0800 (PST) Received: from [192.168.0.130] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6E2D23F766; Sun, 7 Mar 2021 03:53:54 -0800 (PST) Subject: Re: [PATCH] arm64/mm: Fix __enable_mmu() for new TGRAN range values To: Mark Rutland Cc: linux-arm-kernel@lists.infradead.org, James Morse , Catalin Marinas , Will Deacon , Marc Zyngier , Suzuki K Poulose , Ard Biesheuvel , kvmarm@lists.cs.columbia.edu, linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org References: <1614954969-14338-1-git-send-email-anshuman.khandual@arm.com> <20210305145111.GA78884@C02TD0UTHF1T.local> From: Anshuman Khandual Message-ID: <1f339512-34ac-9779-e534-bee6698b99aa@arm.com> Date: Sun, 7 Mar 2021 17:24:21 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <20210305145111.GA78884@C02TD0UTHF1T.local> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210307_115405_530510_8FB99CD6 X-CRM114-Status: GOOD ( 18.10 ) 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 On 3/5/21 8:21 PM, Mark Rutland wrote: > On Fri, Mar 05, 2021 at 08:06:09PM +0530, Anshuman Khandual wrote: >> From: James Morse >> >> As per ARM ARM DDI 0487G.a, when FEAT_LPA2 is implemented, ID_AA64MMFR0_EL1 >> might contain a range of values to describe supported translation granules >> (4K and 16K pages sizes in particular) instead of just enabled or disabled >> values. This changes __enable_mmu() function to handle complete acceptable >> range of values (depending on whether the field is signed or unsigned) now >> represented with ID_AA64MMFR0_TGRAN_SUPPORTED_[MIN..MAX] pair. While here, >> also fix similar situations in EFI stub and KVM as well. >> >> Cc: Catalin Marinas >> Cc: Will Deacon >> Cc: Marc Zyngier >> Cc: James Morse >> Cc: Suzuki K Poulose >> Cc: Ard Biesheuvel >> Cc: Mark Rutland >> Cc: linux-arm-kernel@lists.infradead.org >> Cc: kvmarm@lists.cs.columbia.edu >> Cc: linux-efi@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Signed-off-by: James Morse >> Signed-off-by: Anshuman Khandual >> --- >> arch/arm64/include/asm/sysreg.h | 20 ++++++++++++++------ >> arch/arm64/kernel/head.S | 6 ++++-- >> arch/arm64/kvm/reset.c | 23 ++++++++++++----------- >> drivers/firmware/efi/libstub/arm64-stub.c | 2 +- >> 4 files changed, 31 insertions(+), 20 deletions(-) >> >> diff --git a/arch/arm64/include/asm/sysreg.h b/arch/arm64/include/asm/sysreg.h >> index dfd4edb..d4a5fca9 100644 >> --- a/arch/arm64/include/asm/sysreg.h >> +++ b/arch/arm64/include/asm/sysreg.h >> @@ -796,6 +796,11 @@ >> #define ID_AA64MMFR0_PARANGE_48 0x5 >> #define ID_AA64MMFR0_PARANGE_52 0x6 >> >> +#define ID_AA64MMFR0_TGRAN_2_SUPPORTED_DEFAULT 0x0 >> +#define ID_AA64MMFR0_TGRAN_2_SUPPORTED_NONE 0x1 >> +#define ID_AA64MMFR0_TGRAN_2_SUPPORTED_MIN 0x2 >> +#define ID_AA64MMFR0_TGRAN_2_SUPPORTED_MAX 0x7 > > The TGRAN2 fields doesn't quite follow the usual ID scheme rules, so how > do we deteremine the max value? Does the ARM ARM say anything in > particular about them, like we do for some of the PMU ID fields? Did not find anything in ARM ARM, regarding what scheme TGRAN2 fields actually follow. I had arrived at more restrictive 0x7 value, like the usual signed fields as the TGRAN4 fields definitely do not follow the unsigned ID scheme. Would restricting max value to 0x3 (i.e LPA2) be a better option instead ? > > Otherwise, this patch looks correct to me. > > Thanks, > Mark. > _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel