root/arch/arm64/kernel/sys.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. SYSCALL_DEFINE6
  2. SYSCALL_DEFINE1
  3. __arm64_sys_ni_syscall

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * AArch64-specific system calls implementation
   4  *
   5  * Copyright (C) 2012 ARM Ltd.
   6  * Author: Catalin Marinas <catalin.marinas@arm.com>
   7  */
   8 
   9 #include <linux/compiler.h>
  10 #include <linux/errno.h>
  11 #include <linux/fs.h>
  12 #include <linux/mm.h>
  13 #include <linux/export.h>
  14 #include <linux/sched.h>
  15 #include <linux/slab.h>
  16 #include <linux/syscalls.h>
  17 
  18 #include <asm/cpufeature.h>
  19 #include <asm/syscall.h>
  20 
  21 SYSCALL_DEFINE6(mmap, unsigned long, addr, unsigned long, len,
  22                 unsigned long, prot, unsigned long, flags,
  23                 unsigned long, fd, unsigned long, off)
  24 {
  25         if (offset_in_page(off) != 0)
  26                 return -EINVAL;
  27 
  28         return ksys_mmap_pgoff(addr, len, prot, flags, fd, off >> PAGE_SHIFT);
  29 }
  30 
  31 SYSCALL_DEFINE1(arm64_personality, unsigned int, personality)
  32 {
  33         if (personality(personality) == PER_LINUX32 &&
  34                 !system_supports_32bit_el0())
  35                 return -EINVAL;
  36         return ksys_personality(personality);
  37 }
  38 
  39 asmlinkage long sys_ni_syscall(void);
  40 
  41 asmlinkage long __arm64_sys_ni_syscall(const struct pt_regs *__unused)
  42 {
  43         return sys_ni_syscall();
  44 }
  45 
  46 /*
  47  * Wrappers to pass the pt_regs argument.
  48  */
  49 #define __arm64_sys_personality         __arm64_sys_arm64_personality
  50 
  51 #undef __SYSCALL
  52 #define __SYSCALL(nr, sym)      asmlinkage long __arm64_##sym(const struct pt_regs *);
  53 #include <asm/unistd.h>
  54 
  55 #undef __SYSCALL
  56 #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
  57 
  58 const syscall_fn_t sys_call_table[__NR_syscalls] = {
  59         [0 ... __NR_syscalls - 1] = __arm64_sys_ni_syscall,
  60 #include <asm/unistd.h>
  61 };

/* [<][>][^][v][top][bottom][index][help] */