• Russell King's avatar
    ARM: memblock: setup lowmem mappings using memblock · 8df65168
    Russell King authored
    Use memblock information to setup lowmem mappings rather than the
    membank array.
    
    This allows platforms to manipulate the memblock information during
    initialization to reserve (and remove) memory from the kernel's view
    of memory - and thus allowing platforms to setup their own private
    mappings for this memory without causing problems with multiple
    aliasing mappings:
    
    	size = min(size, SZ_2M);
    	base = memblock_alloc(size, min(align, SZ_2M));
    	memblock_free(base, size);
    	memblock_remove(base, size);
    
    This is needed because multiple mappings of regions with differing
    attributes (sharability, type, cache) are not permitted with ARMv6
    and above.
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    8df65168
mmu.c 28.9 KB