Question on mmap() in 64-bit OS



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?

Many thanks,
LaBird (Benny).
[Email: Remove all underscores for the correct email address.]


.



Relevant Pages

  • Re: Question on mmap() in 64-bit OS
    ... user when calling mmap() with the MAP_FIXED flag on in a 64-bit Linux ... Most CPUs don't have a full 64-bit virtual address space. ...
    (comp.os.linux.development.system)
  • Re: mmap coherency kernel to user
    ... > How do you invalidate it in the user space? ... Try calling mmap() with the O_SYNC flag. ...
    (comp.os.linux.embedded)