12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- // SPDX-License-Identifier: GPL-2.0
- // Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
- #include <linux/syscalls.h>
- SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
- {
- struct thread_info *ti = task_thread_info(current);
- struct pt_regs *reg = current_pt_regs();
- reg->tls = addr;
- ti->tp_value = addr;
- return 0;
- }
- SYSCALL_DEFINE6(mmap2,
- unsigned long, addr,
- unsigned long, len,
- unsigned long, prot,
- unsigned long, flags,
- unsigned long, fd,
- off_t, offset)
- {
- if (unlikely(offset & (~PAGE_MASK >> 12)))
- return -EINVAL;
- return ksys_mmap_pgoff(addr, len, prot, flags, fd,
- offset >> (PAGE_SHIFT - 12));
- }
- /*
- * for abiv1 the 64bits args should be even th, So we need mov the advice
- * forward.
- */
- SYSCALL_DEFINE4(csky_fadvise64_64,
- int, fd,
- int, advice,
- loff_t, offset,
- loff_t, len)
- {
- return ksys_fadvise64_64(fd, offset, len, advice);
- }
|