[lkml]   [2012]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] mm: bootmem: use phys_addr_t for physical addresses
Hi Tejun,

On 9/12/2012 4:39 PM, Tejun Heo wrote:
> Hello,
> On Wed, Sep 12, 2012 at 12:06:48PM -0400, Cyril Chemparathy wrote:
>> static void * __init alloc_bootmem_core(unsigned long size,
>> unsigned long align,
>> - unsigned long goal,
>> - unsigned long limit)
>> + phys_addr_t goal,
>> + phys_addr_t limit)
> So, a function which takes phys_addr_t for goal and limit but returns
> void * doesn't make much sense unless the function creates directly
> addressable mapping somewhere.

On the 32-bit PAE platform in question, physical memory is located
outside the 4GB range. Therefore phys_to_virt takes a 64-bit physical
address and returns a 32-bit kernel mapped lowmem pointer.

> The right thing to do would be converting to nobootmem (ie. memblock)
> and use the memblock interface. Have no idea at all whether that
> would be a realistic short-term solution for arm.

I must plead ignorance and let wiser souls chime in on ARM architecture
plans w.r.t. nobootmem. As far as I can tell, the only thing that
blocks us from using nobootmem at present is the need for sparsemem on
some platforms.

- Cyril

 \ /
  Last update: 2012-09-13 02:41    [W:0.063 / U:1.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site