• Ard Biesheuvel's avatar
    memremap: add arch specific hook for MEMREMAP_WB mappings · c269cba3
    Ard Biesheuvel authored
    Currently, the memremap code serves MEMREMAP_WB mappings directly from
    the kernel direct mapping, unless the region is in high memory, in which
    case it falls back to using ioremap_cache(). However, the semantics of
    ioremap_cache() are not unambiguously defined, and on ARM, it will
    actually result in a mapping type that differs from the attributes used
    for the linear mapping, and for this reason, the ioremap_cache() call
    fails if the region is part of the memory managed by the kernel.
    
    So instead, implement an optional hook 'arch_memremap_wb' whose default
    implementation calls ioremap_cache() as before, but which can be
    overridden by the architecture to do what is appropriate for it.
    Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    c269cba3
memremap.c 12 KB