[PATCHv3 2/5] ARM: mvebu: disable I/O coherency on non-SMP situations on Armada 370/375/38x/XP

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Thu Nov 13 02:17:30 PST 2014

Dear Arnd Bergmann,

On Thu, 13 Nov 2014 11:10:07 +0100, Arnd Bergmann wrote:

> Seems fine to me. I was hoping to solve this with the introduction
> setting that would allow us to have a compile-time setting to make it
> work on UP (while possibly breaking or slowing down other machines
> in a multiplatform kernel), but Russell didn't like the idea.

Right. Unfortunately, I don't currently see a good way of handling such
a case, other than having the C code at some point in the
initialization re-create all the page tables that were set up by the
assembly code. The basic problem here is that I need access to an
information located in the Device Tree at a moment where the DT isn't
available. So there are two options: 1/ make the DT available earlier,
but it really seems impractical to manipulate the DT in the
early assembly code, or 2/ make sure that the initialization done in
the assembly code can be overridden later.

What do you think?

Best regards,

Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering

More information about the linux-arm-kernel mailing list