]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - arch/h8300/include/asm/syscall.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[mirror_ubuntu-jammy-kernel.git] / arch / h8300 / include / asm / syscall.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
d2a5f499
YS
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
12static inline int
13syscall_get_nr(struct task_struct *task, struct pt_regs *regs)
14{
15 return regs->orig_er0;
16}
17
18static inline void
19syscall_get_arguments(struct task_struct *task, struct pt_regs *regs,
20 unsigned int i, unsigned int n, unsigned long *args)
21{
22 BUG_ON(i + n > 6);
23
24 while (n > 0) {
25 switch (i) {
26 case 0:
27 *args++ = regs->er1;
28 break;
29 case 1:
30 *args++ = regs->er2;
31 break;
32 case 2:
33 *args++ = regs->er3;
34 break;
35 case 3:
36 *args++ = regs->er4;
37 break;
38 case 4:
39 *args++ = regs->er5;
40 break;
41 case 5:
42 *args++ = regs->er6;
43 break;
44 }
45 i++;
46 n--;
47 }
48}
49
50
51
52/* Misc syscall related bits */
53asmlinkage long do_syscall_trace_enter(struct pt_regs *regs);
54asmlinkage void do_syscall_trace_leave(struct pt_regs *regs);
55
56#endif /* __KERNEL__ */
57#endif /* __ASM_H8300_SYSCALLS_32_H */