[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 34/37] linux-user: Implement PI futexes
From: |
Laurent Vivier |
Subject: |
[PULL 34/37] linux-user: Implement PI futexes |
Date: |
Wed, 28 Sep 2022 22:27:34 +0200 |
From: Richard Henderson <richard.henderson@linaro.org>
Define the missing FUTEX_* constants in syscall_defs.h
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220829021006.67305-6-richard.henderson@linaro.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
linux-user/syscall.c | 10 ++++++++++
linux-user/syscall_defs.h | 3 +++
2 files changed, 13 insertions(+)
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 3f144e3c1f5d..2e954d8dbd9e 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -7788,8 +7788,17 @@ static int do_futex(CPUState *cpu, bool time64,
target_ulong uaddr,
case FUTEX_WAIT_BITSET:
val = tswap32(val);
break;
+ case FUTEX_WAIT_REQUEUE_PI:
+ val = tswap32(val);
+ haddr2 = g2h(cpu, uaddr2);
+ break;
+ case FUTEX_LOCK_PI:
+ case FUTEX_LOCK_PI2:
+ break;
case FUTEX_WAKE:
case FUTEX_WAKE_BITSET:
+ case FUTEX_TRYLOCK_PI:
+ case FUTEX_UNLOCK_PI:
timeout = 0;
break;
case FUTEX_FD:
@@ -7797,6 +7806,7 @@ static int do_futex(CPUState *cpu, bool time64,
target_ulong uaddr,
timeout = 0;
break;
case FUTEX_CMP_REQUEUE:
+ case FUTEX_CMP_REQUEUE_PI:
val3 = tswap32(val3);
/* fall through */
case FUTEX_REQUEUE:
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 1e3577bfa56f..01ee10a88fe0 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -2699,6 +2699,9 @@ struct target_drm_i915_getparam {
#define FUTEX_TRYLOCK_PI 8
#define FUTEX_WAIT_BITSET 9
#define FUTEX_WAKE_BITSET 10
+#define FUTEX_WAIT_REQUEUE_PI 11
+#define FUTEX_CMP_REQUEUE_PI 12
+#define FUTEX_LOCK_PI2 13
#define FUTEX_PRIVATE_FLAG 128
#define FUTEX_CLOCK_REALTIME 256
--
2.37.3
- [PULL 22/37] linux-user/hppa: Increase guest stack size to 80MB for hppa target, (continued)
- [PULL 22/37] linux-user/hppa: Increase guest stack size to 80MB for hppa target, Laurent Vivier, 2022/09/28
- [PULL 24/37] linux-user/hppa: Fix setup_sigcontext(), Laurent Vivier, 2022/09/28
- [PULL 26/37] linux-user: Don't assume 0 is not a valid host timer_t value, Laurent Vivier, 2022/09/28
- [PULL 30/37] linux-user: Combine do_futex and do_futex_time64, Laurent Vivier, 2022/09/28
- [PULL 27/37] linux-user/s390x: Save/restore fpc when handling a signal, Laurent Vivier, 2022/09/28
- [PULL 32/37] linux-user: Implement FUTEX_WAKE_BITSET, Laurent Vivier, 2022/09/28
- [PULL 33/37] linux-user: Convert signal number for FUTEX_FD, Laurent Vivier, 2022/09/28
- [PULL 29/37] linux-user: Set ELF_BASE_PLATFORM for MIPS, Laurent Vivier, 2022/09/28
- [PULL 19/37] linux-user: Add proper strace format strings for getdents()/getdents64(), Laurent Vivier, 2022/09/28
- [PULL 31/37] linux-user: Sink call to do_safe_futex, Laurent Vivier, 2022/09/28
- [PULL 34/37] linux-user: Implement PI futexes,
Laurent Vivier <=
- [PULL 35/37] linux-user: Update print_futex_op, Laurent Vivier, 2022/09/28
- [PULL 28/37] linux-user: Introduce stubs for ELF AT_BASE_PLATFORM, Laurent Vivier, 2022/09/28
- [PULL 37/37] linux-user: Add parameters of getrandom() syscall for strace, Laurent Vivier, 2022/09/28
- [PULL 25/37] linux-user: fix bug about missing signum convert of sigqueue, Laurent Vivier, 2022/09/28
- [PULL 36/37] linux-user: Lock log around strace, Laurent Vivier, 2022/09/28
- Re: [PULL 00/37] Linux user for 7.2 patches, Stefan Hajnoczi, 2022/09/29