1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _SYSTBLS_H
3#define _SYSTBLS_H
4
5#include <linux/signal.h>
6#include <linux/kernel.h>
7#include <linux/compat.h>
8#include <linux/types.h>
9
10#include <asm/utrap.h>
11
12asmlinkage long sys_getpagesize(void);
13asmlinkage long sys_sparc_pipe(void);
14asmlinkage long sys_nis_syscall(void);
15asmlinkage long sys_getdomainname(char __user *name, int len);
16void do_rt_sigreturn(struct pt_regs *regs);
17asmlinkage long sys_mmap(unsigned long addr, unsigned long len,
18			 unsigned long prot, unsigned long flags,
19			 unsigned long fd, unsigned long off);
20asmlinkage void sparc_breakpoint(struct pt_regs *regs);
21
22#ifdef CONFIG_SPARC32
23asmlinkage long sys_mmap2(unsigned long addr, unsigned long len,
24			  unsigned long prot, unsigned long flags,
25			  unsigned long fd, unsigned long pgoff);
26long sys_sparc_remap_file_pages(unsigned long start, unsigned long size,
27			    unsigned long prot, unsigned long pgoff,
28			    unsigned long flags);
29
30#endif /* CONFIG_SPARC32 */
31
32#ifdef CONFIG_SPARC64
33asmlinkage long sys_sparc_ipc(unsigned int call, int first,
34			      unsigned long second,
35			      unsigned long third,
36			      void __user *ptr, long fifth);
37asmlinkage long sparc64_personality(unsigned long personality);
38asmlinkage long sys64_munmap(unsigned long addr, size_t len);
39asmlinkage unsigned long sys64_mremap(unsigned long addr,
40				      unsigned long old_len,
41				      unsigned long new_len,
42				      unsigned long flags,
43				      unsigned long new_addr);
44asmlinkage long sys_utrap_install(utrap_entry_t type,
45				  utrap_handler_t new_p,
46				  utrap_handler_t new_d,
47				  utrap_handler_t __user *old_p,
48				  utrap_handler_t __user *old_d);
49asmlinkage long sys_memory_ordering(unsigned long model);
50asmlinkage void sparc64_set_context(struct pt_regs *regs);
51asmlinkage void sparc64_get_context(struct pt_regs *regs);
52asmlinkage long compat_sys_truncate64(const char __user * path,
53				 u32 high,
54				 u32 low);
55asmlinkage long compat_sys_ftruncate64(unsigned int fd,
56				  u32 high,
57				  u32 low);
58struct compat_stat64;
59asmlinkage long compat_sys_stat64(const char __user * filename,
60				  struct compat_stat64 __user *statbuf);
61asmlinkage long compat_sys_lstat64(const char __user * filename,
62				   struct compat_stat64 __user *statbuf);
63asmlinkage long compat_sys_fstat64(unsigned int fd,
64				   struct compat_stat64 __user * statbuf);
65asmlinkage long compat_sys_fstatat64(unsigned int dfd,
66				     const char __user *filename,
67				     struct compat_stat64 __user * statbuf, int flag);
68asmlinkage long compat_sys_pread64(unsigned int fd,
69					char __user *ubuf,
70					compat_size_t count,
71					u32 poshi,
72					u32 poslo);
73asmlinkage long compat_sys_pwrite64(unsigned int fd,
74					 char __user *ubuf,
75					 compat_size_t count,
76					 u32 poshi,
77					 u32 poslo);
78asmlinkage long compat_sys_readahead(int fd,
79				     unsigned offhi,
80				     unsigned offlo,
81				     compat_size_t count);
82long compat_sys_fadvise64(int fd,
83			  unsigned offhi,
84			  unsigned offlo,
85			  compat_size_t len, int advice);
86long compat_sys_fadvise64_64(int fd,
87			     unsigned offhi, unsigned offlo,
88			     unsigned lenhi, unsigned lenlo,
89			     int advice);
90long compat_sys_sync_file_range(unsigned int fd,
91			   unsigned off_high, unsigned off_low,
92			   unsigned nb_high, unsigned nb_low,
93			   unsigned int flags);
94asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offhi, u32 offlo,
95				     u32 lenhi, u32 lenlo);
96asmlinkage long compat_sys_fstat64(unsigned int fd,
97				   struct compat_stat64 __user * statbuf);
98asmlinkage long compat_sys_fstatat64(unsigned int dfd,
99				     const char __user *filename,
100				     struct compat_stat64 __user * statbuf,
101				     int flag);
102#endif /* CONFIG_SPARC64 */
103#endif /* _SYSTBLS_H */
104