Re: [RFC] ARM: mmu: Do not try to pick early TTB up

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 23, 2018 at 1:43 AM, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox



[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux