qemu-trivial
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange


From: Laurent Vivier
Subject: Re: [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity
Date: Thu, 27 Jan 2022 14:49:30 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

Le 15/01/2022 à 12:32, Serge Belyshev a écrit :
Alpha uses different values of some TARGET_RLIMIT_* constants, which were
missing and caused bugs like #577, fixed thus.  Also rearranged all three
(alpha, mips and sparc) that differ from everyone else for clarity.

Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/577
---
  linux-user/syscall_defs.h | 31 ++++++++++++++-----------------
  1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index f23f0a2178..3fcabaeae3 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -730,44 +730,41 @@ struct target_rlimit {
  #define TARGET_RLIM_INFINITY  ((abi_ulong)-1)
  #endif
-#if defined(TARGET_MIPS)
  #define TARGET_RLIMIT_CPU             0
  #define TARGET_RLIMIT_FSIZE           1
  #define TARGET_RLIMIT_DATA            2
  #define TARGET_RLIMIT_STACK           3
  #define TARGET_RLIMIT_CORE            4
+#if defined(TARGET_MIPS)
+#define TARGET_RLIMIT_NOFILE           5
+#define TARGET_RLIMIT_AS               6
  #define TARGET_RLIMIT_RSS             7
  #define TARGET_RLIMIT_NPROC           8
-#define TARGET_RLIMIT_NOFILE           5
  #define TARGET_RLIMIT_MEMLOCK         9
-#define TARGET_RLIMIT_AS               6
-#define TARGET_RLIMIT_LOCKS            10
-#define TARGET_RLIMIT_SIGPENDING       11
-#define TARGET_RLIMIT_MSGQUEUE         12
-#define TARGET_RLIMIT_NICE             13
-#define TARGET_RLIMIT_RTPRIO           14
-#else
-#define TARGET_RLIMIT_CPU              0
-#define TARGET_RLIMIT_FSIZE            1
-#define TARGET_RLIMIT_DATA             2
-#define TARGET_RLIMIT_STACK            3
-#define TARGET_RLIMIT_CORE             4
+#elif defined(TARGET_ALPHA)
+#define TARGET_RLIMIT_RSS              5
+#define TARGET_RLIMIT_NOFILE           6
+#define TARGET_RLIMIT_AS               7
+#define TARGET_RLIMIT_NPROC            8
+#define TARGET_RLIMIT_MEMLOCK          9
+#elif defined(TARGET_SPARC)
  #define TARGET_RLIMIT_RSS             5
-#if defined(TARGET_SPARC)
  #define TARGET_RLIMIT_NOFILE          6
  #define TARGET_RLIMIT_NPROC           7
+#define TARGET_RLIMIT_MEMLOCK          8
+#define TARGET_RLIMIT_AS               9
  #else
+#define TARGET_RLIMIT_RSS              5
  #define TARGET_RLIMIT_NPROC           6
  #define TARGET_RLIMIT_NOFILE          7
-#endif
  #define TARGET_RLIMIT_MEMLOCK         8
  #define TARGET_RLIMIT_AS              9
+#endif
  #define TARGET_RLIMIT_LOCKS           10
  #define TARGET_RLIMIT_SIGPENDING      11
  #define TARGET_RLIMIT_MSGQUEUE                12
  #define TARGET_RLIMIT_NICE            13
  #define TARGET_RLIMIT_RTPRIO          14
-#endif
struct target_pollfd {
      int fd;           /* file descriptor */

Reviewed-by: Laurent Vivier <laurent@vivier.eu>

perhaps you could also add RLIMIT_RTTIME (15) and update 
target_to_host_resource()?

The next step would be to move the generic definitions to a new file in linux-user/generic/target_resource.h and the specific ones to linux-user/alpha, linux-user/mips and linux-user/sparc.

Thanks,
Laurent



reply via email to

[Prev in Thread] Current Thread [Next in Thread]