Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp146928pxb; Thu, 21 Jan 2021 03:43:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJx6UdaFepEo93rm/AQwXhTCzhF1KdVwyMtDnodBc4ESmu/DOnlydt+m0QdhXhArkSNprhUP X-Received: by 2002:a05:6402:1f4:: with SMTP id i20mr10488784edy.180.1611229396620; Thu, 21 Jan 2021 03:43:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611229396; cv=none; d=google.com; s=arc-20160816; b=gi54Q5CFZJJQEdGRgAXeWYDrKkC6ynnX2BTpNylDMaqGYtwz/ggoBbGv0VU5UPTWIQ fooUbYEc+1uOHGijeec1DJpYgvjqlmS9e9OxkDLiM6GM/z/kVNdl8v7KhI1HpSUxprfp 2+Cz90mrPTQKRj+bZhxTm7iyL4QQRIs8LWw60QeLwk7a3L8dcrUh/BZXBevuHQUxV+lV NqFcWV6w0sm31QzUjSyMl51JBh4EDPKfa/7v+6i8yJDZJ3+s066+C/ry0SOeosYz7god 0unddViisG7ozz+b0DC4RiOQEU56/AyxWNRuqiwjF3OOcQQ0gzStdarZU2UIcNrXIbkC VqEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=+T1ABH1aBr0bsI93E/MU2E8TXU/hWddj7HbeThQh1oM=; b=j1fS9gLt3fpk5g18UnYkJ7kRenex9iiEqTURWdoD0at6Kn+R6s38YrZVwRfDqQ6+rQ 9VFWD1GhE1BuaMZEdBkrra7LSVMhY6vFwmkH0icdevYznsFV/u7Wi5vFqoppoIOLZ8EA CfqAQIdil8aOQs3zQEs+/zE8WsMHPLv9lVn5PEE3g97Xfaeen5EFck0mpWiv2BUiiY5g 9pGAKu6kqsM13/Ce1VOJoHvHnyem3e/vUvDbsd0ocO+XxL8BQYlWu9GoAu7MYJ0N1d8h A0RsLEDBQ0FtAuLqD2d3fq6P7IbbBs7dN+iMFgzy8Cc46KCWox6s6jVLRWIMXjfyJcYy 6kOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=o4bQmM5E; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u19si2030173edo.465.2021.01.21.03.42.53; Thu, 21 Jan 2021 03:43:16 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=o4bQmM5E; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730662AbhAULkA (ORCPT + 99 others); Thu, 21 Jan 2021 06:40:00 -0500 Received: from mail.kernel.org ([198.145.29.99]:46912 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730552AbhAULjn (ORCPT ); Thu, 21 Jan 2021 06:39:43 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3374020637 for ; Thu, 21 Jan 2021 11:39:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1611229141; bh=8Mrped0dqosEfHBS5NkF/32JfKc48YzZz11ccq0r9/4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=o4bQmM5EWoyBQDGPngnEWX3GCCk+7yMzZj3tM9stml5iM0nDO6isCm8eoILCOuLKq aeiyFgMlnq+iF6ioPa7g1sdRa/DdTO5smxBr02N7xiTbmHA4IRZnuZ7FmqLeZlKeer 4ZRzKVu1q+IkLT9I0w2ZUiF1usVwXEAfvlEH9nB5IjFOQxIng4DY+17XI5eGCI91pB jtHgKSbfSzIqlAtvcXF9D/OGESrUe+Bj91Y/zXf7x0wCd2o1FpQTe9yTVuT2Qn9ryw B0L5lJagQ1lHqBpb4E4vFVLV0YkA9ftAdi0MGTZMpKvQSD3HyLZVuBdDlSIpCygXsZ AtuybR/XTGoug== Received: by mail-oo1-f42.google.com with SMTP id y14so406970oom.10 for ; Thu, 21 Jan 2021 03:39:01 -0800 (PST) X-Gm-Message-State: AOAM531Tjtu1YJehgyr3E/7oVPeExGgnhDirbPVMSPrlbkPEIIKZo/Jh FPGrSzZw7z7obs2lr6DAm3nrJa14zairc5qcGD4= X-Received: by 2002:a4a:9c01:: with SMTP id y1mr9152302ooj.15.1611229140456; Thu, 21 Jan 2021 03:39:00 -0800 (PST) MIME-Version: 1.0 References: <20210120132717.395873-1-mohamed.mediouni@caramail.com> <20210120132717.395873-4-mohamed.mediouni@caramail.com> <20210121112725.GA21750@willie-the-truck> In-Reply-To: <20210121112725.GA21750@willie-the-truck> From: Arnd Bergmann Date: Thu, 21 Jan 2021 12:38:44 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [RFC PATCH 3/7] arm64: mm: use nGnRnE instead of nGnRE on Apple processors To: Will Deacon Cc: Mohamed Mediouni , Linux ARM , Catalin Marinas , Mark Rutland , Marc Zyngier , Hector Martin , "linux-kernel@vger.kernel.org" , Stan Skowronek Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 21, 2021 at 12:32 PM Will Deacon wrote: > On Wed, Jan 20, 2021 at 02:27:13PM +0100, Mohamed Mediouni wrote: > > Use nGnRnE instead of nGnRE on Apple SoCs to workaround a serious hardware quirk. > > /* > > * Default MAIR_EL1. MT_NORMAL_TAGGED is initially mapped as Normal memory and > > * changed during __cpu_setup to Normal Tagged if the system supports MTE. > > @@ -432,6 +451,13 @@ SYM_FUNC_START(__cpu_setup) > > * Memory region attributes > > */ > > mov_q x5, MAIR_EL1_SET > > +#ifdef CONFIG_ARCH_APPLE > > + mrs x0, MIDR_EL1 > > + lsr w0, w0, #24 > > + mov_q x1, MAIR_EL1_SET_APPLE > > + cmp x0, #0x61 // 0x61 = Implementer: Apple > > + csel x5, x1, x5, eq > > Why does this need to be done so early? It would be a lot cleaner if we > could detect this in a similar fashion to other errata and update the MAIR > appropriately. If that's not possible because of early IO mappings (which > ones?), then we could instead initialise to nGnRnE unconditionally, but > relax it to nGnRE if we detect that we _don't_ have the erratum. There is (at least) the custom SMP startup code that uses device mappings. If that's the only thing that needs the modified MAIR to be used early, I'd consider that one more reason against doing the custom cpu_operations for now. Arnd