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 13static inline int 14syscall_get_nr(struct task_struct *task, struct pt_regs *regs) 15{ 16 return regs->orig_er0; 17} 18 19static inline void 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 31static inline int 32syscall_get_arch(struct task_struct *task) 33{ 34 return AUDIT_ARCH_H8300; 35} 36 37 38/* Misc syscall related bits */ 39asmlinkage long do_syscall_trace_enter(struct pt_regs *regs); 40asmlinkage void do_syscall_trace_leave(struct pt_regs *regs); 41 42#endif /* __KERNEL__ */ 43#endif /* __ASM_H8300_SYSCALLS_32_H */ 44