From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-io0-x241.google.com ([2607:f8b0:4001:c06::241]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1fM3Bt-0002vN-7v for barebox@lists.infradead.org; Fri, 25 May 2018 03:14:54 +0000 Received: by mail-io0-x241.google.com with SMTP id z4-v6so4812646iof.5 for ; Thu, 24 May 2018 20:14:42 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20180523084341.i5edq2nznd7spbi3@pengutronix.de> References: <20180523051012.26148-1-andrew.smirnov@gmail.com> <20180523084341.i5edq2nznd7spbi3@pengutronix.de> From: Andrey Smirnov Date: Thu, 24 May 2018 20:14:40 -0700 Message-ID: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [RFC] ARM: mmu: Do not try to pick early TTB up To: Sascha Hauer Cc: Barebox List On Wed, May 23, 2018 at 1:43 AM, Sascha Hauer wrote: > On Tue, May 22, 2018 at 10:10:12PM -0700, Andrey Smirnov wrote: >> The call to create_flat_mapping() in mmu.c will change both memory >> type and shareability of all RAM in use by barebox while MMU is on >> when done in conjunction with CONFIG_MMU_EARLY. > > I notice that with MMU_EARLY enabled we call create_flat_mapping() > twice, once in the early MMU code and once when setting up the MMU for > real. In between we remap the the SDRAM cached which then is reverted > during the second call to create_flat_mapping(). > > This seems unnecessary. Does the following help you? Yeah, this, disabling MMU before or having a tlb_invalidate() after all seem to help. Your patch works fine, but it has a slight weirdness in my case because early MMU code would mark OCRAM as cached and regular MMU code wouldn't undo it without the call to create_flat_mapping(), so I'd end up with slightly different memory configuration depending on if EARLY_MMU is enabled or not. Other than that it should work fine. The main reason I chose to go "disable MMU" route is because that follows what ARMv8 MMU code does, but I am perfectly happy with either solution. Thanks, Andrey Smirnov _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox