[klibc] Re: sys_mmap2 on different architectures

H. Peter Anvin hpa at zytor.com
Wed Feb 22 16:22:47 PST 2006

Benjamin LaHaise wrote:
> The sys_mmap2() ABI is that the page shift is always fixed to whatever 
> page size is reasonable for the architecture, typically 2^12.  The syscall 
> should never be exposed as mmap2(), only as the large file size version 
> of mmap() (aka mmap64()).  The other consideration is that it should not 
> be implemented in 64 bit ABIs, as those machines should be using a 64 bit 
> native mmap().  Does that clear things up a bit?  Cheers,

That was the theory, but that doesn't seem to be actually what's 
implemented.  At least on MIPS and PPC, where page size is variable (to 
the best of my knowledge), the shift seems to be whatever PAGE_SIZE the 
kernel was compiled with.  On the other hand, that's apparently what's 
implemented on SPARC (with the fixed offset of 12.)


More information about the klibc mailing list