[PATCH V6] ARM: LPAE: Fix mapping in alloc_init_section for unaligned addresses
Catalin Marinas
catalin.marinas at arm.com
Mon Feb 11 08:12:32 EST 2013
On Mon, Feb 11, 2013 at 09:13:29AM +0000, R Sricharan wrote:
> +static void __init alloc_init_pmd(pud_t *pud, unsigned long addr,
> + unsigned long end, phys_addr_t phys,
> + const struct mem_type *type)
> +{
> + pmd_t *pmd = pmd_offset(pud, addr);
> + unsigned long next;
> +
> + do {
> /*
> - * No need to loop; pte's aren't interested in the
> - * individual L1 entries.
> + * With LPAE, we must loop over to map
> + * all the pmds for the given range.
> */
> - alloc_init_pte(pmd, addr, end, __phys_to_pfn(phys), type);
> - }
> + next = pmd_addr_end(addr, end);
> +
> + /*
> + * Try a section mapping - end, addr and phys must all be
> + * aligned to a section boundary.
> + */
Should this read "next, addr and phys" instead of "end..."?
Otherwise:
Reviewed-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list