[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 09/13] linux-user: Add getcpu() support
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 09/13] linux-user: Add getcpu() support |
Date: |
Tue, 23 Jan 2018 15:48:03 +0100 |
From: Samuel Thibault <address@hidden>
Signed-off-by: Samuel Thibault <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Laurent Vivier <address@hidden>
---
linux-user/syscall.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 143e4a959d..104408c050 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -296,6 +296,8 @@ _syscall3(int, sys_sched_getaffinity, pid_t, pid, unsigned
int, len,
#define __NR_sys_sched_setaffinity __NR_sched_setaffinity
_syscall3(int, sys_sched_setaffinity, pid_t, pid, unsigned int, len,
unsigned long *, user_mask_ptr);
+#define __NR_sys_getcpu __NR_getcpu
+_syscall3(int, sys_getcpu, unsigned *, cpu, unsigned *, node, void *, tcache);
_syscall4(int, reboot, int, magic1, int, magic2, unsigned int, cmd,
void *, arg);
_syscall2(int, capget, struct __user_cap_header_struct *, header,
@@ -10491,6 +10493,23 @@ abi_long do_syscall(void *cpu_env, int num, abi_long
arg1,
ret = get_errno(sys_sched_setaffinity(arg1, mask_size, mask));
}
break;
+ case TARGET_NR_getcpu:
+ {
+ unsigned cpu, node;
+ ret = get_errno(sys_getcpu(arg1 ? &cpu : NULL,
+ arg2 ? &node : NULL,
+ NULL));
+ if (is_error(ret)) {
+ goto fail;
+ }
+ if (arg1 && put_user_u32(cpu, arg1)) {
+ goto efault;
+ }
+ if (arg2 && put_user_u32(node, arg2)) {
+ goto efault;
+ }
+ }
+ break;
case TARGET_NR_sched_setparam:
{
struct sched_param *target_schp;
--
2.14.3
- [Qemu-devel] [PULL 00/13] Linux user for 2.12 patches, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 01/13] linux-user: Fix locking order in fork_start(), Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 05/13] linux-user: Translate flags argument to dup3 syscall, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 03/13] linux-user: Fix length calculations in host_to_target_cmsg(), Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 08/13] linux-user: Add AT_SECURE auxval, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 09/13] linux-user: Add getcpu() support,
Laurent Vivier <=
- [Qemu-devel] [PULL 10/13] linux-user: remove nmi.c and fw-path-provider.c, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 13/13] linux-user: implement renameat2, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 02/13] linux-user: wrap fork() in a start/end exclusive section, Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 04/13] linux-user: Don't use CMSG_ALIGN(sizeof struct cmsghdr), Laurent Vivier, 2018/01/23
- [Qemu-devel] [PULL 07/13] linux-user: Fix sched_get/setaffinity conversion, Laurent Vivier, 2018/01/23