2012-03-05 15:49:31 +04:00
/*
* AArch64 - specific system calls implementation
*
* Copyright ( C ) 2012 ARM Ltd .
* Author : Catalin Marinas < catalin . marinas @ arm . com >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
# include <linux/compiler.h>
# include <linux/errno.h>
# include <linux/fs.h>
# include <linux/mm.h>
# include <linux/export.h>
# include <linux/sched.h>
# include <linux/slab.h>
# include <linux/syscalls.h>
asmlinkage long sys_mmap ( unsigned long addr , unsigned long len ,
unsigned long prot , unsigned long flags ,
unsigned long fd , off_t off )
{
if ( offset_in_page ( off ) ! = 0 )
return - EINVAL ;
return sys_mmap_pgoff ( addr , len , prot , flags , fd , off > > PAGE_SHIFT ) ;
}
/*
* Wrappers to pass the pt_regs argument .
*/
2015-01-06 20:01:56 +03:00
asmlinkage long sys_rt_sigreturn_wrapper ( void ) ;
2012-03-05 15:49:31 +04:00
# define sys_rt_sigreturn sys_rt_sigreturn_wrapper
# undef __SYSCALL
# define __SYSCALL(nr, sym) [nr] = sym,
/*
* The sys_call_table array must be 4 K aligned to be accessible from
* kernel / entry . S .
*/
2015-01-08 14:42:59 +03:00
void * const sys_call_table [ __NR_syscalls ] __aligned ( 4096 ) = {
2012-03-05 15:49:31 +04:00
[ 0 . . . __NR_syscalls - 1 ] = sys_ni_syscall ,
# include <asm/unistd.h>
} ;