[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 055/108] linux-user: Split out ipc syscalls
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 055/108] linux-user: Split out ipc syscalls |
Date: |
Sat, 9 Jun 2018 17:01:27 -1000 |
This is msgctl, msgget, msgrcv, msgsnd, shmat, shmctl,
shmdt, shmget, semctl, semget, semop.
Signed-off-by: Richard Henderson <address@hidden>
---
linux-user/syscall.c | 154 ++++++++++++++++++++++++++++++-------------
1 file changed, 110 insertions(+), 44 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 6ac7532ea6..1c3a4590fb 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8636,6 +8636,34 @@ IMPL(mremap)
return get_errno(target_mremap(arg1, arg2, arg3, arg4, arg5));
}
+#ifdef TARGET_NR_msgctl
+IMPL(msgctl)
+{
+ return do_msgctl(arg1, arg2, arg3);
+}
+#endif
+
+#ifdef TARGET_NR_msgget
+IMPL(msgget)
+{
+ return get_errno(msgget(arg1, arg2));
+}
+#endif
+
+#ifdef TARGET_NR_msgrcv
+IMPL(msgrcv)
+{
+ return do_msgrcv(arg1, arg2, arg3, arg4, arg5);
+}
+#endif
+
+#ifdef TARGET_NR_msgsnd
+IMPL(msgsnd)
+{
+ return do_msgsnd(arg1, arg2, arg3, arg4);
+}
+#endif
+
IMPL(msync)
{
return get_errno(msync(g2h(arg1), arg2, arg3));
@@ -9340,6 +9368,34 @@ IMPL(sgetmask)
}
#endif
+#ifdef TARGET_NR_shmat
+IMPL(shmat)
+{
+ return do_shmat(cpu_env, arg1, arg2, arg3);
+}
+#endif
+
+#ifdef TARGET_NR_shmctl
+IMPL(shmctl)
+{
+ return do_shmctl(arg1, arg2, arg3);
+}
+#endif
+
+#ifdef TARGET_NR_shmdt
+IMPL(shmdt)
+{
+ return do_shmdt(arg1);
+}
+#endif
+
+#ifdef TARGET_NR_shmget
+IMPL(shmget)
+{
+ return get_errno(shmget(arg1, arg2, arg3));
+}
+#endif
+
#ifdef TARGET_NR_shutdown
IMPL(shutdown)
{
@@ -9358,6 +9414,27 @@ IMPL(select)
}
#endif
+#ifdef TARGET_NR_semctl
+IMPL(semctl)
+{
+ return do_semctl(arg1, arg2, arg3, arg4);
+}
+#endif
+
+#ifdef TARGET_NR_semget
+IMPL(semget)
+{
+ return get_errno(semget(arg1, arg2, arg3));
+}
+#endif
+
+#ifdef TARGET_NR_semop
+IMPL(semop)
+{
+ return do_semop(arg1, arg2, arg3);
+}
+#endif
+
#ifdef TARGET_NR_send
IMPL(send)
{
@@ -10272,50 +10349,6 @@ static abi_long do_syscall1(void *cpu_env, unsigned
num, abi_long arg1,
void *p;
switch(num) {
-#ifdef TARGET_NR_semget
- case TARGET_NR_semget:
- return get_errno(semget(arg1, arg2, arg3));
-#endif
-#ifdef TARGET_NR_semop
- case TARGET_NR_semop:
- return do_semop(arg1, arg2, arg3);
-#endif
-#ifdef TARGET_NR_semctl
- case TARGET_NR_semctl:
- return do_semctl(arg1, arg2, arg3, arg4);
-#endif
-#ifdef TARGET_NR_msgctl
- case TARGET_NR_msgctl:
- return do_msgctl(arg1, arg2, arg3);
-#endif
-#ifdef TARGET_NR_msgget
- case TARGET_NR_msgget:
- return get_errno(msgget(arg1, arg2));
-#endif
-#ifdef TARGET_NR_msgrcv
- case TARGET_NR_msgrcv:
- return do_msgrcv(arg1, arg2, arg3, arg4, arg5);
-#endif
-#ifdef TARGET_NR_msgsnd
- case TARGET_NR_msgsnd:
- return do_msgsnd(arg1, arg2, arg3, arg4);
-#endif
-#ifdef TARGET_NR_shmget
- case TARGET_NR_shmget:
- return get_errno(shmget(arg1, arg2, arg3));
-#endif
-#ifdef TARGET_NR_shmctl
- case TARGET_NR_shmctl:
- return do_shmctl(arg1, arg2, arg3);
-#endif
-#ifdef TARGET_NR_shmat
- case TARGET_NR_shmat:
- return do_shmat(cpu_env, arg1, arg2, arg3);
-#endif
-#ifdef TARGET_NR_shmdt
- case TARGET_NR_shmdt:
- return do_shmdt(arg1);
-#endif
case TARGET_NR_fsync:
return get_errno(fsync(arg1));
case TARGET_NR_clone:
@@ -12943,6 +12976,18 @@ static impl_fn *syscall_table(unsigned num)
SYSCALL(mount);
SYSCALL(mprotect);
SYSCALL(mremap);
+#ifdef TARGET_NR_msgctl
+ SYSCALL(msgctl);
+#endif
+#ifdef TARGET_NR_msgget
+ SYSCALL(msgget);
+#endif
+#ifdef TARGET_NR_msgrcv
+ SYSCALL(msgrcv);
+#endif
+#ifdef TARGET_NR_msgsnd
+ SYSCALL(msgsnd);
+#endif
SYSCALL(msync);
SYSCALL(munlock);
SYSCALL(munlockall);
@@ -13010,6 +13055,18 @@ static impl_fn *syscall_table(unsigned num)
#ifdef TARGET_NR_sgetmask
SYSCALL(sgetmask);
#endif
+#ifdef TARGET_NR_shmat
+ SYSCALL(shmat);
+#endif
+#ifdef TARGET_NR_shmctl
+ SYSCALL(shmctl);
+#endif
+#ifdef TARGET_NR_shmdt
+ SYSCALL(shmdt);
+#endif
+#ifdef TARGET_NR_shmget
+ SYSCALL(shmget);
+#endif
#ifdef TARGET_NR_shutdown
SYSCALL(shutdown);
#endif
@@ -13020,6 +13077,15 @@ static impl_fn *syscall_table(unsigned num)
SYSCALL(select);
# endif
#endif
+#ifdef TARGET_NR_semctl
+ SYSCALL(semctl);
+#endif
+#ifdef TARGET_NR_semget
+ SYSCALL(semget);
+#endif
+#ifdef TARGET_NR_semop
+ SYSCALL(semop);
+#endif
#ifdef TARGET_NR_send
SYSCALL(send);
#endif
--
2.17.1
- [Qemu-devel] [PATCH v2 045/108] linux-user: Split out accept, accept4, bind, connect, (continued)
- [Qemu-devel] [PATCH v2 045/108] linux-user: Split out accept, accept4, bind, connect, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 046/108] linux-user: Split out 7 syscalls, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 047/108] linux-user: Split out recvmmsg, send, sendmmsg, sendmsg, sendto, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 048/108] linux-user: Split out getrandom, shutdown, setsockopt, socket, socketpair, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 049/108] linux-user: Fix stub gettid, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 050/108] linux-user: Split out getitimer, setitimer, syslog, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 051/108] linux-user: Split out fstat, lstat, stat, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 052/108] linux-user: Unwrap TARGET_NR_syscall early, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 053/108] linux-user: Split out swapoff, sysinfo, vhangup, wait4, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 054/108] linux-user: Split out ipc, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 055/108] linux-user: Split out ipc syscalls,
Richard Henderson <=
- [Qemu-devel] [PATCH v2 056/108] linux-user: Split out clone, exit_group, fsync, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 057/108] linux-user: Split out modify_ldt, setdomainname, uname, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 058/108] linux-user: Split out adjtimex, clock_adjtime, vm86, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 059/108] linux-user: Split out fchdir, getpgid, llseek, personality, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 060/108] linux-user: Split out getdents, getdents64, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 061/108] linux-user: Split out poll, ppoll, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 062/108] linux-user: Split out flock, preadv, pwritev, readv, writev, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 063/108] linux-user: Split out fdatasync, getsid, _sysctl, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 065/108] linux-user: Split out getcpu, nanosleep, prctl, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 064/108] linux-user: Split out sched syscalls, Richard Henderson, 2018/06/09