/* * Copyright (C) 2004-2007 Atmel Corporation * * This file is subject to the terms and conditions of the GNU Lesser General * Public License. See the file "COPYING.LIB" in the main directory of this * archive for more details. */ #include #include #include #include static __inline__ _syscall6(void *, mmap2, void *, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, pgoff) void *mmap(void *addr, size_t len, int prot, int flags, int fd, __off_t offset) { unsigned long page_size = sysconf(_SC_PAGESIZE); unsigned long pgoff; if (offset & (page_size - 1)) { __set_errno(EINVAL); return MAP_FAILED; } pgoff = (unsigned long)offset >> (31 - __builtin_clz(page_size)); return mmap2(addr, len, prot, flags, fd, pgoff); } libc_hidden_def(mmap)