[PATCH V6] ARM: LPAE: Fix mapping in alloc_init_section for unaligned addresses

R Sricharan r.sricharan at ti.com
Thu Feb 21 07:26:48 EST 2013


Hi,
On Monday 11 February 2013 07:22 PM, R Sricharan wrote:
> Hi Russell,
>
> On Monday 11 February 2013 06:42 PM, Catalin Marinas wrote:
>> 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>
>>
>   Can I put this in to patch system ?

    Ping..

Regards,
  Sricharan



More information about the linux-arm-kernel mailing list