Received: by 2002:a05:6a10:6006:0:0:0:0 with SMTP id w6csp312386pxa; Thu, 27 Aug 2020 03:05:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwwHJ14UUQGfPUTUt7TKgK6uyCgA4ZXVk6e9k1SYEn7Jjwcp1VaVzj9dkkKwbdhhRvCB+Pf X-Received: by 2002:a17:906:60d5:: with SMTP id f21mr19797485ejk.94.1598522713125; Thu, 27 Aug 2020 03:05:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598522713; cv=none; d=google.com; s=arc-20160816; b=QyW3Rb72AzaxfYg9bZPOLrp9f0pZw77BH+hGsvB2EWNRpG0wjR0SEQZhZtI7iBYW1t kCWLEsCOz+6DkPLnUCUVKSzy8JBlq6aCuf4jx2jrAF5SYmpJb/k4LjYljk0xClRWbmrL dsltgxT7Cs1bpMs8hrR0q59/uMJ3nFZJjgpXW2CQe1V69T+VLfqeyeQ5SVhhCDVffz6X kM1qO0EdGnXxRdLRuomUocArC+uFfAkla00n2U6harBQDkmNgEuTvSi42pTbXtfk3bkD YUEnMHRemQXh/MkBFI3lbqFFpISa4Pb4CcN2aSRjKhMUxC503FLQnA5SzIX1u1+QbPHY RJog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=HGoopylQ//x3ghdSb8zGEUU2QuyAa6AsFLxOkvFGOVQ=; b=QdgIAXYZ+8eM6HTs2G+yNSg0d6ScV2WCuO1sh9h1VVPpVMBMpniBCUESTB3sZunGfg iKIx8tMrqp9IQtGDg3MSOgUfd08XEIjly9Fq0IPHY2ao3IHZFOfB6aaRJOdNrxpCJzrT skeve2GODOifTPmzTeeTcWFGd9XU4oLldfMlN60YyEtL9w9sIByRwEJTTAr9k292deSF fzLs6HRBEugxWVwoJs5OX8dJOhPLpo8qBHpjL3VkprP+fuH8uxnAVvObZsv3Jb8Ra6tz aE1NeoLW+AXQDPW/RC2LYUmvHKwxWnsPMc4sDDbcUyusj4Kz5rFG4dEsbdxmoRNHkXn6 UHXg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bu6si1223302edb.287.2020.08.27.03.04.50; Thu, 27 Aug 2020 03:05:13 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728496AbgH0KCB (ORCPT + 99 others); Thu, 27 Aug 2020 06:02:01 -0400 Received: from mail.kernel.org ([198.145.29.99]:56854 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726988AbgH0KCB (ORCPT ); Thu, 27 Aug 2020 06:02:01 -0400 Received: from gaia (unknown [46.69.195.127]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 71C892075B; Thu, 27 Aug 2020 10:01:58 +0000 (UTC) Date: Thu, 27 Aug 2020 11:01:56 +0100 From: Catalin Marinas To: Andrey Konovalov Cc: Dmitry Vyukov , Vincenzo Frascino , kasan-dev@googlegroups.com, Andrey Ryabinin , Alexander Potapenko , Marco Elver , Evgenii Stepanov , Elena Petrova , Branislav Rankov , Kevin Brodsky , Will Deacon , Andrew Morton , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 22/35] arm64: mte: Enable in-kernel MTE Message-ID: <20200827100155.GD29264@gaia> References: <6a83a47d9954935d37a654978e96c951cc56a2f6.1597425745.git.andreyknvl@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6a83a47d9954935d37a654978e96c951cc56a2f6.1597425745.git.andreyknvl@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 14, 2020 at 07:27:04PM +0200, Andrey Konovalov wrote: > diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c > index 4d3abb51f7d4..4d94af19d8f6 100644 > --- a/arch/arm64/kernel/cpufeature.c > +++ b/arch/arm64/kernel/cpufeature.c > @@ -1670,6 +1670,9 @@ static void cpu_enable_mte(struct arm64_cpu_capabilities const *cap) > write_sysreg_s(0, SYS_TFSR_EL1); > write_sysreg_s(0, SYS_TFSRE0_EL1); > > + /* Enable Match-All at EL1 */ > + sysreg_clear_set(tcr_el1, 0, SYS_TCR_EL1_TCMA1); > + > /* > * CnP must be enabled only after the MAIR_EL1 register has been set > * up. Inconsistent MAIR_EL1 between CPUs sharing the same TLB may > @@ -1687,6 +1690,9 @@ static void cpu_enable_mte(struct arm64_cpu_capabilities const *cap) > mair &= ~MAIR_ATTRIDX(MAIR_ATTR_MASK, MT_NORMAL_TAGGED); > mair |= MAIR_ATTRIDX(MAIR_ATTR_NORMAL_TAGGED, MT_NORMAL_TAGGED); > write_sysreg_s(mair, SYS_MAIR_EL1); > + > + /* Enable MTE Sync Mode for EL1 */ > + sysreg_clear_set(sctlr_el1, SCTLR_ELx_TCF_MASK, SCTLR_ELx_TCF_SYNC); In the 8th incarnation of the user MTE patches, this initialisation moved to proc.S before the MMU is initialised. When rebasing, please take this into account. -- Catalin