[PATCH 0/9] Switch internal registers address to 0xF1 on Armada 370/XP

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue May 21 16:12:35 EDT 2013


Dear Willy Tarreau,

On Tue, 21 May 2013 21:38:03 +0200, Willy Tarreau wrote:

> Just out of curiosity, what happens if you touch the register at the
> wrong address ?

On Armada 370/XP, it hangs the CPU.

> I mean, if you blindly write to the 0xD0xxxxxx address
> that you want the registers to be mapped at 0xF1xxxxxx. Will the chip
> hang, will it silently ignore the sequence ?

Answered above: it hangs.

> Because maybe you don't need to detect using CP15 whether the remapping was done,
> you could simply perform it unconditionally. Another point would be that if the
> boot loader is the only one to know whether the registeres were remapped,
> then maybe it could put something into the atags or DT about this. And
> maybe we'll simply find that DT-enabled boot loaders are remapped and
> that non-DT ones are not.
> 
> Just a few ideas since you feel a bit worried about the fragility of
> the CP15 bit :-)

No, as explained above, we have considered a way of "detecting" whether
the remapping occurred, or to unconditionally do the remapping. But
none of those solutions work: we need to know, through some external
mechanism, whether the remapping has already taken place or not.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the linux-arm-kernel mailing list