1 // SPDX-License-Identifier: GPL-2.0
2 // Copyright (C) 2005-2017 Andes Technology Corporation
4 #include <linux/syscalls.h>
5 #include <linux/uaccess.h>
7 #include <asm/cachectl.h>
8 #include <asm/proc-fns.h>
10 SYSCALL_DEFINE6(mmap2
, unsigned long, addr
, unsigned long, len
,
11 unsigned long, prot
, unsigned long, flags
,
12 unsigned long, fd
, unsigned long, pgoff
)
14 if (pgoff
& (~PAGE_MASK
>> 12))
17 return sys_mmap_pgoff(addr
, len
, prot
, flags
, fd
,
18 pgoff
>> (PAGE_SHIFT
- 12));
21 SYSCALL_DEFINE4(fadvise64_64_wrapper
,int, fd
, int, advice
, loff_t
, offset
,
24 return sys_fadvise64_64(fd
, offset
, len
, advice
);
27 SYSCALL_DEFINE3(cacheflush
, unsigned int, start
, unsigned int, end
, int, cache
)
29 struct vm_area_struct
*vma
;
30 bool flushi
= true, wbd
= true;
32 vma
= find_vma(current
->mm
, start
);
47 cpu_cache_wbinval_range_check(vma
, start
, end
, flushi
, wbd
);