1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_H8300_SYSCALLS_32_H 3 #define __ASM_H8300_SYSCALLS_32_H 4 5 #ifdef __KERNEL__ 6 7 #include <linux/compiler.h> 8 #include <linux/linkage.h> 9 #include <linux/types.h> 10 #include <linux/ptrace.h> 11 #include <uapi/linux/audit.h> 12 13 static inline int syscall_get_nr(struct task_struct * task,struct pt_regs * regs)14syscall_get_nr(struct task_struct *task, struct pt_regs *regs) 15 { 16 return regs->orig_er0; 17 } 18 19 static inline void syscall_get_arguments(struct task_struct * task,struct pt_regs * regs,unsigned long * args)20syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, 21 unsigned long *args) 22 { 23 *args++ = regs->er1; 24 *args++ = regs->er2; 25 *args++ = regs->er3; 26 *args++ = regs->er4; 27 *args++ = regs->er5; 28 *args = regs->er6; 29 } 30 31 static inline int syscall_get_arch(struct task_struct * task)32syscall_get_arch(struct task_struct *task) 33 { 34 return AUDIT_ARCH_H8300; 35 } 36 37 38 /* Misc syscall related bits */ 39 asmlinkage long do_syscall_trace_enter(struct pt_regs *regs); 40 asmlinkage void do_syscall_trace_leave(struct pt_regs *regs); 41 42 #endif /* __KERNEL__ */ 43 #endif /* __ASM_H8300_SYSCALLS_32_H */ 44