Re: [PATCH] m68k: disable SRAM at startup

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

 



Hi Greg,

On 05/09/2024 09:52, Greg Ungerer wrote:
Hi JM,

On 5/9/24 00:26, Jean-Michel Hautbois wrote:
Some of the internal SoC registers have a higher priority over the MMU
virtual mappings. The SRAM bank is one of them. If the bootloader
enables the internal SRAM at address 0x80000000, virtual memory access
at this address will not hit the MMU - so no TLB data misses would
occurr.

Since 0x80000000 is the virtual start address of all applications that
bit of memory is getting stomped over with inconsistent code and data
access.

Fix it by disabling the internal SRAM at startup.

Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
Tested-by: Jean-Michel Hautbois <jeanmichel.hautbois@xxxxxxxxxx>
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@xxxxxxxxxx>

I know this change fixed your specific problem, but it is not going
to work as a general solution.

For one not all ColdFire parts have an SRAM region and thus not all have
a valid %rambar register. Secondly some ColdFire parts (like the 5249)
have 2 SRAM regions, with mapping control registers named %rambar0
and %rambar1.

Thanks for this clarification. TBH, I sent the mail and thought about it after :-(. The patch is in my branch, and solves the issues in [1], so I decided to send it. *But* I should have asked first your approval as you are the one who found it and mark it as RFC probably. I'm sorry for that...

[1]: https://lore.kernel.org/linux-m68k/mvmed8dlewg.fsf@xxxxxxxxxxxxxx/T/#m0e4c8f0b9df0a03f3d0b5cf2246661d0bb3a370b


Some ColdFire uClinux applications use the mapped SRAM, so a blanket
disable is not the best idea in any case.

I am thinking it would be better to have a new Kconfig option that
allows disabling by the startup code for those ColdFire parts that
have SRAM (so appropriate "depends on"). That way it will only be
disable when that is what is needed. Maybe also have that configuration
allowing to configure and set the rambars so that a mapping
can be forced on if wanted.

Interesting.
I will keep this patch for my own case for now, as it does not apply and wait for this Kconfig option to make it clean !

JM




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux