1/* 2 * Copyright (C) 2007-2009 Michal Simek <monstr@monstr.eu> 3 * Copyright (C) 2007-2009 PetaLogix 4 * Copyright (C) 2007 John Williams <john.williams@petalogix.com> 5 * 6 * Copyright (C) 2006 Atmark Techno, Inc. 7 * Yasushi SHOJI <yashi@atmark-techno.com> 8 * Tetsuya OHKAWA <tetsuya@atmark-techno.com> 9 * 10 * This file is subject to the terms and conditions of the GNU General Public 11 * License. See the file "COPYING" in the main directory of this archive 12 * for more details. 13 */ 14 15#include <linux/errno.h> 16#include <linux/export.h> 17#include <linux/mm.h> 18#include <linux/smp.h> 19#include <linux/syscalls.h> 20#include <linux/sem.h> 21#include <linux/msg.h> 22#include <linux/shm.h> 23#include <linux/stat.h> 24#include <linux/mman.h> 25#include <linux/sys.h> 26#include <linux/ipc.h> 27#include <linux/file.h> 28#include <linux/err.h> 29#include <linux/fs.h> 30#include <linux/semaphore.h> 31#include <linux/uaccess.h> 32#include <linux/unistd.h> 33#include <linux/slab.h> 34#include <asm/syscalls.h> 35 36SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len, 37 unsigned long, prot, unsigned long, flags, unsigned long, fd, 38 off_t, pgoff) 39{ 40 if (pgoff & ~PAGE_MASK) 41 return -EINVAL; 42 43 return sys_mmap_pgoff(addr, len, prot, flags, fd, pgoff >> PAGE_SHIFT); 44} 45 46SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len, 47 unsigned long, prot, unsigned long, flags, unsigned long, fd, 48 unsigned long, pgoff) 49{ 50 if (pgoff & (~PAGE_MASK >> 12)) 51 return -EINVAL; 52 53 return sys_mmap_pgoff(addr, len, prot, flags, fd, 54 pgoff >> (PAGE_SHIFT - 12)); 55} 56