[PATCH v3 RESEND 08/17] ARM: LPAE: use phys_addr_t in free_memmap()
From: Cyril Chemparathy <hidden>
Date: 2012-09-24 15:09:50
On 9/24/2012 9:41 AM, Russell King - ARM Linux wrote:
On Mon, Sep 24, 2012 at 02:29:42PM +0100, Catalin Marinas wrote:quoted
This function also calls free_bootmem() which takes unsigned long. Are patches sent separately for this or we just ignore holes in memmap? There are other calls to free_bootmem() or reserve_bootmem(), do they just work with the high phys addresses?Bootmem only deals with physical addresses which fit within the size of an 'unsigned long'. Unfortunately, the bootmem API is a mess of 'unsigned long' physical addresses and PFNs. Years ago there was a patch to make it use only PFNs but other changes resulted in that patch being thrown away.
A separate patch has been posted for bootmem (see [1]). Tejun suggested that we'd be better off moving entirely to memblock instead (see [2]). I'd be happy to take this up, but I'm not very familiar with the reasoning behind the mixed bootmem + memblock usage that we have today. Some background and pointers on this topic would greatly help. [1] https://lkml.org/lkml/2012/9/12/435 [2] https://lkml.org/lkml/2012/9/13/511 -- Thanks - Cyril