Re: Question on mmap() in 64-bit OS



"LaBird" <b_cheung_2005@xxxxxxxxx> writes:

Dear all,

I'd like to ask is there any address range limit allowable to be used by
user when calling mmap() with the MAP_FIXED flag on in a 64-bit Linux
machine. (I am using Fedora 7). I find that I cannot go anywhere beyond
0x10000000 00000000. When I specify any address larger than that, a ENOMEM
error occurs. If that is the case, why does the OS need to reserve such a
large portion of the 2^64 address space, prohibiting users to map in that
range?

Most CPUs don't have a full 64-bit virtual address space. For
example, my Core2 has 48-bit virtual addresses. /proc/cpuinfo tells
the size of virtual and physical addresses.

--
Måns Rullgård
mans@xxxxxxxxx
.



Relevant Pages