[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 043/108] linux-user: Split out getpriority, setpr
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v2 043/108] linux-user: Split out getpriority, setpriority |
Date: |
Sat, 9 Jun 2018 17:01:15 -1000 |
Signed-off-by: Richard Henderson <address@hidden>
---
linux-user/syscall.c | 46 +++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 18 deletions(-)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 86583988c4..6d8d2eb780 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -8241,6 +8241,27 @@ IMPL(getppid)
}
#endif
+IMPL(getpriority)
+{
+ abi_long ret;
+
+ /* Note that negative values are valid for getpriority, so we must
+ differentiate based on errno settings. */
+ errno = 0;
+ ret = getpriority(arg1, arg2);
+ if (ret == -1 && errno != 0) {
+ return -host_to_target_errno(errno);
+ }
+#ifdef TARGET_ALPHA
+ /* Return value is the unbiased priority. Signal no error. */
+ ((CPUAlphaState *)cpu_env)->ir[IR_V0] = 0;
+ return ret;
+#else
+ /* Return value is a biased priority to avoid negative numbers. */
+ return 20 - ret;
+#endif
+}
+
IMPL(getrlimit)
{
int resource = target_to_host_resource(arg1);
@@ -9303,6 +9324,11 @@ IMPL(setpgid)
return get_errno(setpgid(arg1, arg2));
}
+IMPL(setpriority)
+{
+ return get_errno(setpriority(arg1, arg2, arg3));
+}
+
IMPL(setrlimit)
{
int resource = target_to_host_resource(arg1);
@@ -9898,24 +9924,6 @@ static abi_long do_syscall1(void *cpu_env, unsigned num,
abi_long arg1,
void *p;
switch(num) {
- case TARGET_NR_getpriority:
- /* Note that negative values are valid for getpriority, so we must
- differentiate based on errno settings. */
- errno = 0;
- ret = getpriority(arg1, arg2);
- if (ret == -1 && errno != 0) {
- return -host_to_target_errno(errno);
- }
-#ifdef TARGET_ALPHA
- /* Return value is the unbiased priority. Signal no error. */
- ((CPUAlphaState *)cpu_env)->ir[IR_V0] = 0;
-#else
- /* Return value is a biased priority to avoid negative numbers. */
- ret = 20 - ret;
-#endif
- return ret;
- case TARGET_NR_setpriority:
- return get_errno(setpriority(arg1, arg2, arg3));
#ifdef TARGET_NR_socketcall
case TARGET_NR_socketcall:
return do_socketcall(arg1, arg2);
@@ -12811,6 +12819,7 @@ static impl_fn *syscall_table(unsigned num)
#ifdef TARGET_NR_getppid
SYSCALL(getppid);
#endif
+ SYSCALL(getpriority);
SYSCALL(getrlimit);
SYSCALL(getrusage);
SYSCALL(gettimeofday);
@@ -12907,6 +12916,7 @@ static impl_fn *syscall_table(unsigned num)
#endif
SYSCALL(sethostname);
SYSCALL(setpgid);
+ SYSCALL(setpriority);
SYSCALL(setrlimit);
SYSCALL(settimeofday);
SYSCALL(setsid);
--
2.17.1
- [Qemu-devel] [PATCH v2 033/108] linux-user: Split out rt_sigreturn, sethostname, setrlimit, sigreturn, (continued)
- [Qemu-devel] [PATCH v2 033/108] linux-user: Split out rt_sigreturn, sethostname, setrlimit, sigreturn, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 036/108] linux-user: Split out symlink, symlinkat, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 035/108] linux-user: Split out select, pselect6, newselect, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 034/108] linux-user: Split out getrlimit, getrusage, gettimeofday, settimeofday, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 037/108] linux-user: Split out readlink, readlinkat, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 038/108] linux-user: Split out mmap, mmap2, reboot, swapon, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 039/108] linux-user: Split out mprotect, mremap, msync, munmap, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 040/108] linux-user: Split out mlock, mlockall, munlock, munlockall, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 041/108] linux-user: Split out fchmod, fchmodat, ftruncate, truncate, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 042/108] linux-user: Split out fstatfs, fstatfs64, statfs, statfs64, Richard Henderson, 2018/06/09
- [Qemu-devel] [PATCH v2 043/108] linux-user: Split out getpriority, setpriority,
Richard Henderson <=
- [Qemu-devel] [PATCH v2 044/108] linux-user: Split out socketcall, Richard Henderson, 2018/06/09
- [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