[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <50512B9A.9060905@ti.com>
Date: Wed, 12 Sep 2012 20:40:58 -0400
From: Cyril Chemparathy <cyril@...com>
To: Tejun Heo <tj@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>,
<akpm@...ux-foundation.org>, <davem@...emloft.net>,
<eric.dumazet@...il.com>, <hannes@...xchg.org>,
<shangw@...ux.vnet.ibm.com>, <vitalya@...com>
Subject: Re: [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.
--
Thanks
- Cyril
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists