linux/arch/sh/kernel/sys_sh32.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/errno.h>
   3#include <linux/sched.h>
   4#include <linux/sched/task_stack.h>
   5#include <linux/mm.h>
   6#include <linux/smp.h>
   7#include <linux/sem.h>
   8#include <linux/msg.h>
   9#include <linux/shm.h>
  10#include <linux/stat.h>
  11#include <linux/syscalls.h>
  12#include <linux/mman.h>
  13#include <linux/file.h>
  14#include <linux/module.h>
  15#include <linux/fs.h>
  16#include <linux/ipc.h>
  17#include <asm/cacheflush.h>
  18#include <linux/uaccess.h>
  19#include <asm/unistd.h>
  20#include <asm/syscalls.h>
  21
  22/*
  23 * sys_pipe() is the normal C calling standard for creating
  24 * a pipe. It's not the way Unix traditionally does this, though.
  25 */
  26asmlinkage int sys_sh_pipe(void)
  27{
  28        int fd[2];
  29        int error;
  30
  31        error = do_pipe_flags(fd, 0);
  32        if (!error) {
  33                current_pt_regs()->regs[1] = fd[1];
  34                return fd[0];
  35        }
  36        return error;
  37}
  38
  39asmlinkage ssize_t sys_pread_wrapper(unsigned int fd, char __user *buf,
  40                             size_t count, long dummy, loff_t pos)
  41{
  42        return ksys_pread64(fd, buf, count, pos);
  43}
  44
  45asmlinkage ssize_t sys_pwrite_wrapper(unsigned int fd, const char __user *buf,
  46                              size_t count, long dummy, loff_t pos)
  47{
  48        return ksys_pwrite64(fd, buf, count, pos);
  49}
  50
  51asmlinkage int sys_fadvise64_64_wrapper(int fd, u32 offset0, u32 offset1,
  52                                u32 len0, u32 len1, int advice)
  53{
  54#ifdef  __LITTLE_ENDIAN__
  55        return ksys_fadvise64_64(fd, (u64)offset1 << 32 | offset0,
  56                                 (u64)len1 << 32 | len0, advice);
  57#else
  58        return ksys_fadvise64_64(fd, (u64)offset0 << 32 | offset1,
  59                                 (u64)len0 << 32 | len1, advice);
  60#endif
  61}
  62