[PATCH] ARM: allow, but warn, when issuing ioremap() on RAM
Russell King - ARM Linux
linux at arm.linux.org.uk
Mon Oct 11 06:52:16 EDT 2010
On Mon, Oct 11, 2010 at 01:39:13PM +0300, Felipe Contreras wrote:
> Anyway, I'm reading the TRM and I can't find any mention of this.
> Catalin, can you point out where is this mentioned, and also, can you
> confirm if this would affect only the memory that has the double
> mapping, or it can corrupt other memory as well?
If the same memory locations are marked as having different cacheability
attributes, for example by the use of aliases in a virtual to physical
address mapping, behavior is UNPREDICTABLE.
Behavior is UNPREDICTABLE if the same memory location:
■ is marked as Shareable Normal and Non-shareable Normal
■ is marked as having different memory types (Normal, Device, or Strongly-
■ is marked as having different cacheability attributes
■ is marked as being Shareable Device and Non-shareable Device memory.
Such memory marking contradictions can occur, for example, by the use of
aliases in a virtual to physical address mapping.
And from the glossary:
UNPREDICTABLE Means the behavior cannot be relied upon. UNPREDICTABLE
behavior must not represent security holes. UNPREDICTABLE behavior must
not halt or hang the processor, or any parts of the system. UNPREDICTABLE
behavior must not be documented or promoted as having a defined effect.
More information about the linux-arm-kernel