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,
|
||||
unsigned int, mask, struct target_statx *, statxbuf)
|
||||
#endif
|
||||
#if defined(TARGET_NR_membarrier) && defined(__NR_membarrier)
|
||||
_syscall2(int, membarrier, int, cmd, int, flags)
|
||||
#endif
|
||||
|
||||
static bitmask_transtbl fcntl_flags_tbl[] = {
|
||||
{ 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);
|
||||
return ret;
|
||||
#endif
|
||||
#if defined TARGET_NR_membarrier && defined __NR_membarrier
|
||||
case TARGET_NR_membarrier:
|
||||
return get_errno(membarrier(arg1, arg2));
|
||||
#endif
|
||||
|
||||
default:
|
||||
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
|
||||
|
Loading…
Reference in New Issue
Block a user