[RFC] Prohibit ioremap() on kernel managed RAM

Catalin Marinas catalin.marinas at arm.com
Fri Apr 23 10:15:33 EDT 2010


On Thu, 2010-04-08 at 10:48 +0100, Russell King - ARM Linux wrote:
> ARMv6 and above have a restriction whereby aliasing virtual:physical
> mappings must not have differing memory type and sharability
> attributes.  Strictly, this covers the memory type (strongly ordered,
> device, memory), cache attributes (uncached, write combine, write
> through, write back read alloc, write back write alloc) and the
> shared bit.
> 
> However, using ioremap() and its variants on system RAM results in
> mappings which differ in these attributes from the main system RAM
> mapping.  Other architectures which similar restrictions approch this
> problem in the same way - they do not permit ioremap on main system
> RAM.
> 
> Make ARM behave in the same way, with a WARN_ON() such that users can
> be traced and an alternative approach found.
> 
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>

Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>

BTW, why not do this for /dev/mem mappings with O_SYNC? I think I sent
you a patch some time ago but I can re-post it.

-- 
Catalin




More information about the linux-arm-kernel mailing list