[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 8:34 PM, Tejun Heo wrote:
> Hello,
> On Wed, Sep 12, 2012 at 08:08:30PM -0400, Cyril Chemparathy wrote:
>>> 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.
> Yes but phys_to_virt() can return the vaddr only if the physical
> address is already mapped in the kernel address space; otherwise, you
> need one of the kmap*() calls which may not be online early in the
> boot and consumes either the vmalloc area or fixmaps. bootmem
> interface can't handle unmapped memory.

You probably missed the lowmem bit from my response?

This system has all of its memory outside the 4GB physical address
space. This includes lowmem, which is permanently mapped into the
kernel virtual address space as usual.

- Cyril

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