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