linux/arch/microblaze/kernel/sys_microblaze.c
<<
>>
Prefs
   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 ksys_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 ksys_mmap_pgoff(addr, len, prot, flags, fd,
  54                               pgoff >> (PAGE_SHIFT - 12));
  55}
  56