linux-user: Implement membarrier syscall
Signed-off-by: Andreas Schwab <schwab@suse.de> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <mvmpnomohfm.fsf@suse.de> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
6c599282f8
commit
8500476f3c
@ -334,6 +334,9 @@ _syscall5(int, kcmp, pid_t, pid1, pid_t, pid2, int, type,
|
|||||||
_syscall5(int, sys_statx, int, dirfd, const char *, pathname, int, flags,
|
_syscall5(int, sys_statx, int, dirfd, const char *, pathname, int, flags,
|
||||||
unsigned int, mask, struct target_statx *, statxbuf)
|
unsigned int, mask, struct target_statx *, statxbuf)
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(TARGET_NR_membarrier) && defined(__NR_membarrier)
|
||||||
|
_syscall2(int, membarrier, int, cmd, int, flags)
|
||||||
|
#endif
|
||||||
|
|
||||||
static bitmask_transtbl fcntl_flags_tbl[] = {
|
static bitmask_transtbl fcntl_flags_tbl[] = {
|
||||||
{ TARGET_O_ACCMODE, TARGET_O_WRONLY, O_ACCMODE, O_WRONLY, },
|
{ TARGET_O_ACCMODE, TARGET_O_WRONLY, O_ACCMODE, O_WRONLY, },
|
||||||
@ -12090,6 +12093,10 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
|||||||
unlock_user(p, arg1, 0);
|
unlock_user(p, arg1, 0);
|
||||||
return ret;
|
return ret;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined TARGET_NR_membarrier && defined __NR_membarrier
|
||||||
|
case TARGET_NR_membarrier:
|
||||||
|
return get_errno(membarrier(arg1, arg2));
|
||||||
|
#endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
|
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user