[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
> of the CONFIG_ARCH_MULTIPLATFORM_STRICT or CONFIG_BROKEN_MULTIPLATFORM
> 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
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com



More information about the linux-arm-kernel mailing list