All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity
@ 2022-01-15 11:32 Serge Belyshev
  2022-01-27 13:49 ` Laurent Vivier
  2022-01-27 14:09 ` [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Laurent Vivier
  0 siblings, 2 replies; 10+ messages in thread
From: Serge Belyshev @ 2022-01-15 11:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-trivial, Laurent Vivier

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 */
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity
  2022-01-15 11:32 [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Serge Belyshev
@ 2022-01-27 13:49 ` Laurent Vivier
  2022-01-29 19:41   ` Serge Belyshev
  2022-01-27 14:09 ` [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Laurent Vivier
  1 sibling, 1 reply; 10+ messages in thread
From: Laurent Vivier @ 2022-01-27 13:49 UTC (permalink / raw)
  To: Serge Belyshev, qemu-devel; +Cc: qemu-trivial

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity
  2022-01-15 11:32 [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Serge Belyshev
  2022-01-27 13:49 ` Laurent Vivier
@ 2022-01-27 14:09 ` Laurent Vivier
  1 sibling, 0 replies; 10+ messages in thread
From: Laurent Vivier @ 2022-01-27 14:09 UTC (permalink / raw)
  To: Serge Belyshev, qemu-devel; +Cc: qemu-trivial

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 */

Applied to my linux-user-for-7.0 branch.

Thanks,
Laurent


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity
  2022-01-27 13:49 ` Laurent Vivier
@ 2022-01-29 19:41   ` Serge Belyshev
  2022-01-29 19:46     ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Serge Belyshev
  0 siblings, 1 reply; 10+ messages in thread
From: Serge Belyshev @ 2022-01-29 19:41 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: qemu-trivial, qemu-devel

Laurent Vivier <laurent@vivier.eu> writes:

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

> Applied to my linux-user-for-7.0 branch.

Thanks!

> 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.

Will submit in a moment on top of the previous patch.  End result is cleaner
but slightly bulkier.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h
  2022-01-29 19:41   ` Serge Belyshev
@ 2022-01-29 19:46     ` Serge Belyshev
  2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
  2022-02-01  7:02       ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Laurent Vivier
  0 siblings, 2 replies; 10+ messages in thread
From: Serge Belyshev @ 2022-01-29 19:46 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: qemu-trivial, qemu-devel


Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
---
Compile tested, and also verified that target definitions did not change.

 linux-user/aarch64/target_resource.h    |  1 +
 linux-user/alpha/target_resource.h      | 21 ++++++++++
 linux-user/arm/target_resource.h        |  1 +
 linux-user/cris/target_resource.h       |  1 +
 linux-user/generic/target_resource.h    | 37 +++++++++++++++++
 linux-user/hexagon/target_resource.h    |  1 +
 linux-user/hppa/target_resource.h       |  1 +
 linux-user/i386/target_resource.h       |  1 +
 linux-user/m68k/target_resource.h       |  1 +
 linux-user/microblaze/target_resource.h |  1 +
 linux-user/mips/target_resource.h       | 24 +++++++++++
 linux-user/mips64/target_resource.h     |  1 +
 linux-user/nios2/target_resource.h      |  1 +
 linux-user/openrisc/target_resource.h   |  1 +
 linux-user/ppc/target_resource.h        |  1 +
 linux-user/riscv/target_resource.h      |  1 +
 linux-user/s390x/target_resource.h      |  1 +
 linux-user/sh4/target_resource.h        |  1 +
 linux-user/sparc/target_resource.h      | 17 ++++++++
 linux-user/syscall_defs.h               | 53 +------------------------
 linux-user/x86_64/target_resource.h     |  1 +
 linux-user/xtensa/target_resource.h     |  1 +
 22 files changed, 117 insertions(+), 52 deletions(-)
 create mode 100644 linux-user/aarch64/target_resource.h
 create mode 100644 linux-user/alpha/target_resource.h
 create mode 100644 linux-user/arm/target_resource.h
 create mode 100644 linux-user/cris/target_resource.h
 create mode 100644 linux-user/generic/target_resource.h
 create mode 100644 linux-user/hexagon/target_resource.h
 create mode 100644 linux-user/hppa/target_resource.h
 create mode 100644 linux-user/i386/target_resource.h
 create mode 100644 linux-user/m68k/target_resource.h
 create mode 100644 linux-user/microblaze/target_resource.h
 create mode 100644 linux-user/mips/target_resource.h
 create mode 100644 linux-user/mips64/target_resource.h
 create mode 100644 linux-user/nios2/target_resource.h
 create mode 100644 linux-user/openrisc/target_resource.h
 create mode 100644 linux-user/ppc/target_resource.h
 create mode 100644 linux-user/riscv/target_resource.h
 create mode 100644 linux-user/s390x/target_resource.h
 create mode 100644 linux-user/sh4/target_resource.h
 create mode 100644 linux-user/sparc/target_resource.h
 create mode 100644 linux-user/x86_64/target_resource.h
 create mode 100644 linux-user/xtensa/target_resource.h

diff --git a/linux-user/aarch64/target_resource.h b/linux-user/aarch64/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/aarch64/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/alpha/target_resource.h b/linux-user/alpha/target_resource.h
new file mode 100644
index 0000000000..c9b082faee
--- /dev/null
+++ b/linux-user/alpha/target_resource.h
@@ -0,0 +1,21 @@
+#ifndef ALPHA_TARGET_RESOURCE_H
+#define ALPHA_TARGET_RESOURCE_H
+
+#include "../generic/target_resource.h"
+
+#undef TARGET_RLIM_INFINITY
+#define TARGET_RLIM_INFINITY    0x7fffffffffffffffull
+
+#undef TARGET_RLIMIT_NOFILE
+#define TARGET_RLIMIT_NOFILE    6
+
+#undef TARGET_RLIMIT_AS
+#define TARGET_RLIMIT_AS        7
+
+#undef TARGET_RLIMIT_NPROC
+#define TARGET_RLIMIT_NPROC     8
+
+#undef TARGET_RLIMIT_MEMLOCK
+#define TARGET_RLIMIT_MEMLOCK   9
+
+#endif
diff --git a/linux-user/arm/target_resource.h b/linux-user/arm/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/arm/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/cris/target_resource.h b/linux-user/cris/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/cris/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
new file mode 100644
index 0000000000..f04c93b125
--- /dev/null
+++ b/linux-user/generic/target_resource.h
@@ -0,0 +1,37 @@
+/*
+ * Target definitions of RLIMIT_* constants. These may be overridden by an
+ * architecture specific header if needed.
+ */
+
+#ifndef GENERIC_TARGET_RESOURCE_H
+#define GENERIC_TARGET_RESOURCE_H
+
+struct target_rlimit {
+    abi_ulong rlim_cur;
+    abi_ulong rlim_max;
+};
+
+struct target_rlimit64 {
+    uint64_t rlim_cur;
+    uint64_t rlim_max;
+};
+
+#define TARGET_RLIM_INFINITY    ((abi_ulong)-1)
+
+#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
+#define TARGET_RLIMIT_RSS               5
+#define TARGET_RLIMIT_NPROC             6
+#define TARGET_RLIMIT_NOFILE            7
+#define TARGET_RLIMIT_MEMLOCK           8
+#define TARGET_RLIMIT_AS                9
+#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
diff --git a/linux-user/hexagon/target_resource.h b/linux-user/hexagon/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/hexagon/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/hppa/target_resource.h b/linux-user/hppa/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/hppa/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/i386/target_resource.h b/linux-user/i386/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/i386/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/m68k/target_resource.h b/linux-user/m68k/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/m68k/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/microblaze/target_resource.h b/linux-user/microblaze/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/microblaze/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/mips/target_resource.h b/linux-user/mips/target_resource.h
new file mode 100644
index 0000000000..6d131b041d
--- /dev/null
+++ b/linux-user/mips/target_resource.h
@@ -0,0 +1,24 @@
+#ifndef MIPS_TARGET_RESOURCE_H
+#define MIPS_TARGET_RESOURCE_H
+
+#include "../generic/target_resource.h"
+
+#undef TARGET_RLIM_INFINITY
+#define TARGET_RLIM_INFINITY    0x7fffffffUL
+
+#undef TARGET_RLIMIT_NOFILE
+#define TARGET_RLIMIT_NOFILE    5
+
+#undef TARGET_RLIMIT_AS
+#define TARGET_RLIMIT_AS        6
+
+#undef TARGET_RLIMIT_RSS
+#define TARGET_RLIMIT_RSS       7
+
+#undef TARGET_RLIMIT_NPROC
+#define TARGET_RLIMIT_NPROC     8
+
+#undef TARGET_RLIMIT_MEMLOCK
+#define TARGET_RLIMIT_MEMLOCK   9
+
+#endif
diff --git a/linux-user/mips64/target_resource.h b/linux-user/mips64/target_resource.h
new file mode 100644
index 0000000000..fe29002a12
--- /dev/null
+++ b/linux-user/mips64/target_resource.h
@@ -0,0 +1 @@
+#include "../mips/target_resource.h"
diff --git a/linux-user/nios2/target_resource.h b/linux-user/nios2/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/nios2/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/openrisc/target_resource.h b/linux-user/openrisc/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/openrisc/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/ppc/target_resource.h b/linux-user/ppc/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/ppc/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/riscv/target_resource.h b/linux-user/riscv/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/riscv/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/s390x/target_resource.h b/linux-user/s390x/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/s390x/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/sh4/target_resource.h b/linux-user/sh4/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/sh4/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/sparc/target_resource.h b/linux-user/sparc/target_resource.h
new file mode 100644
index 0000000000..d9a2fb814a
--- /dev/null
+++ b/linux-user/sparc/target_resource.h
@@ -0,0 +1,17 @@
+#ifndef SPARC_TARGET_RESOURCE_H
+#define SPARC_TARGET_RESOURCE_H
+
+#include "../generic/target_resource.h"
+
+#if TARGET_ABI_BITS == 32
+#undef TARGET_RLIM_INFINITY
+#define TARGET_RLIM_INFINITY    0x7fffffffUL
+#endif
+
+#undef TARGET_RLIMIT_NOFILE
+#define TARGET_RLIMIT_NOFILE    6
+
+#undef TARGET_RLIMIT_NPROC
+#define TARGET_RLIMIT_NPROC     7
+
+#endif
diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
index 3fcabaeae3..78607effe8 100644
--- a/linux-user/syscall_defs.h
+++ b/linux-user/syscall_defs.h
@@ -717,54 +717,7 @@ typedef struct target_siginfo {
 #define TARGET_TRAP_HWBKPT      (4)     /* hardware breakpoint/watchpoint */
 #define TARGET_TRAP_UNK         (5)     /* undiagnosed trap */
 
-struct target_rlimit {
-        abi_ulong   rlim_cur;
-        abi_ulong   rlim_max;
-};
-
-#if defined(TARGET_ALPHA)
-#define TARGET_RLIM_INFINITY	0x7fffffffffffffffull
-#elif defined(TARGET_MIPS) || (defined(TARGET_SPARC) && TARGET_ABI_BITS == 32)
-#define TARGET_RLIM_INFINITY	0x7fffffffUL
-#else
-#define TARGET_RLIM_INFINITY	((abi_ulong)-1)
-#endif
-
-#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_MEMLOCK		9
-#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
-#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
-#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
+#include "target_resource.h"
 
 struct target_pollfd {
     int fd;           /* file descriptor */
@@ -2769,10 +2722,6 @@ struct target_epoll_event {
 #define TARGET_EP_MAX_EVENTS (INT_MAX / sizeof(struct target_epoll_event))
 
 #endif
-struct target_rlimit64 {
-    uint64_t rlim_cur;
-    uint64_t rlim_max;
-};
 
 struct target_ucred {
     uint32_t pid;
diff --git a/linux-user/x86_64/target_resource.h b/linux-user/x86_64/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/x86_64/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
diff --git a/linux-user/xtensa/target_resource.h b/linux-user/xtensa/target_resource.h
new file mode 100644
index 0000000000..227259594c
--- /dev/null
+++ b/linux-user/xtensa/target_resource.h
@@ -0,0 +1 @@
+#include "../generic/target_resource.h"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
  2022-01-29 19:46     ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Serge Belyshev
@ 2022-01-29 19:48       ` Serge Belyshev
  2022-01-31  9:26         ` Laurent Vivier
                           ` (2 more replies)
  2022-02-01  7:02       ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Laurent Vivier
  1 sibling, 3 replies; 10+ messages in thread
From: Serge Belyshev @ 2022-01-29 19:48 UTC (permalink / raw)
  To: Laurent Vivier; +Cc: qemu-trivial, qemu-devel


Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
---
 linux-user/generic/target_resource.h | 1 +
 linux-user/syscall.c                 | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
index f04c93b125..539d8c4677 100644
--- a/linux-user/generic/target_resource.h
+++ b/linux-user/generic/target_resource.h
@@ -33,5 +33,6 @@ struct target_rlimit64 {
 #define TARGET_RLIMIT_MSGQUEUE          12
 #define TARGET_RLIMIT_NICE              13
 #define TARGET_RLIMIT_RTPRIO            14
+#define TARGET_RLIMIT_RTTIME            15
 
 #endif
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 5950222a77..6d41a741ac 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1083,6 +1083,8 @@ static inline int target_to_host_resource(int code)
         return RLIMIT_RSS;
     case TARGET_RLIMIT_RTPRIO:
         return RLIMIT_RTPRIO;
+    case TARGET_RLIMIT_RTTIME:
+        return RLIMIT_RTTIME;
     case TARGET_RLIMIT_SIGPENDING:
         return RLIMIT_SIGPENDING;
     case TARGET_RLIMIT_STACK:
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
  2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
@ 2022-01-31  9:26         ` Laurent Vivier
  2022-01-31  9:39         ` Laurent Vivier
  2022-02-01  7:02         ` Laurent Vivier
  2 siblings, 0 replies; 10+ messages in thread
From: Laurent Vivier @ 2022-01-31  9:26 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: qemu-trivial, qemu-devel

Le 29/01/2022 à 20:48, Serge Belyshev a écrit :
> 
> Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
> ---
>   linux-user/generic/target_resource.h | 1 +
>   linux-user/syscall.c                 | 2 ++
>   2 files changed, 3 insertions(+)
> 
> diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
> index f04c93b125..539d8c4677 100644
> --- a/linux-user/generic/target_resource.h
> +++ b/linux-user/generic/target_resource.h
> @@ -33,5 +33,6 @@ struct target_rlimit64 {
>   #define TARGET_RLIMIT_MSGQUEUE          12
>   #define TARGET_RLIMIT_NICE              13
>   #define TARGET_RLIMIT_RTPRIO            14
> +#define TARGET_RLIMIT_RTTIME            15
>   
>   #endif
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 5950222a77..6d41a741ac 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1083,6 +1083,8 @@ static inline int target_to_host_resource(int code)
>           return RLIMIT_RSS;
>       case TARGET_RLIMIT_RTPRIO:
>           return RLIMIT_RTPRIO;
> +    case TARGET_RLIMIT_RTTIME:
> +        return RLIMIT_RTTIME;
>       case TARGET_RLIMIT_SIGPENDING:
>           return RLIMIT_SIGPENDING;
>       case TARGET_RLIMIT_STACK:

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
  2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
  2022-01-31  9:26         ` Laurent Vivier
@ 2022-01-31  9:39         ` Laurent Vivier
  2022-02-01  7:02         ` Laurent Vivier
  2 siblings, 0 replies; 10+ messages in thread
From: Laurent Vivier @ 2022-01-31  9:39 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: qemu-trivial, qemu-devel

Le 29/01/2022 à 20:48, Serge Belyshev a écrit :
> 
> Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
> ---
>   linux-user/generic/target_resource.h | 1 +
>   linux-user/syscall.c                 | 2 ++
>   2 files changed, 3 insertions(+)
> 
> diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
> index f04c93b125..539d8c4677 100644
> --- a/linux-user/generic/target_resource.h
> +++ b/linux-user/generic/target_resource.h
> @@ -33,5 +33,6 @@ struct target_rlimit64 {
>   #define TARGET_RLIMIT_MSGQUEUE          12
>   #define TARGET_RLIMIT_NICE              13
>   #define TARGET_RLIMIT_RTPRIO            14
> +#define TARGET_RLIMIT_RTTIME            15
>   
>   #endif
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 5950222a77..6d41a741ac 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1083,6 +1083,8 @@ static inline int target_to_host_resource(int code)
>           return RLIMIT_RSS;
>       case TARGET_RLIMIT_RTPRIO:
>           return RLIMIT_RTPRIO;
> +    case TARGET_RLIMIT_RTTIME:
> +        return RLIMIT_RTTIME;
>       case TARGET_RLIMIT_SIGPENDING:
>           return RLIMIT_SIGPENDING;
>       case TARGET_RLIMIT_STACK:

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h
  2022-01-29 19:46     ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Serge Belyshev
  2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
@ 2022-02-01  7:02       ` Laurent Vivier
  1 sibling, 0 replies; 10+ messages in thread
From: Laurent Vivier @ 2022-02-01  7:02 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: qemu-trivial, qemu-devel

Le 29/01/2022 à 20:46, Serge Belyshev a écrit :
> 
> Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
> ---
> Compile tested, and also verified that target definitions did not change.
> 
>   linux-user/aarch64/target_resource.h    |  1 +
>   linux-user/alpha/target_resource.h      | 21 ++++++++++
>   linux-user/arm/target_resource.h        |  1 +
>   linux-user/cris/target_resource.h       |  1 +
>   linux-user/generic/target_resource.h    | 37 +++++++++++++++++
>   linux-user/hexagon/target_resource.h    |  1 +
>   linux-user/hppa/target_resource.h       |  1 +
>   linux-user/i386/target_resource.h       |  1 +
>   linux-user/m68k/target_resource.h       |  1 +
>   linux-user/microblaze/target_resource.h |  1 +
>   linux-user/mips/target_resource.h       | 24 +++++++++++
>   linux-user/mips64/target_resource.h     |  1 +
>   linux-user/nios2/target_resource.h      |  1 +
>   linux-user/openrisc/target_resource.h   |  1 +
>   linux-user/ppc/target_resource.h        |  1 +
>   linux-user/riscv/target_resource.h      |  1 +
>   linux-user/s390x/target_resource.h      |  1 +
>   linux-user/sh4/target_resource.h        |  1 +
>   linux-user/sparc/target_resource.h      | 17 ++++++++
>   linux-user/syscall_defs.h               | 53 +------------------------
>   linux-user/x86_64/target_resource.h     |  1 +
>   linux-user/xtensa/target_resource.h     |  1 +
>   22 files changed, 117 insertions(+), 52 deletions(-)
>   create mode 100644 linux-user/aarch64/target_resource.h
>   create mode 100644 linux-user/alpha/target_resource.h
>   create mode 100644 linux-user/arm/target_resource.h
>   create mode 100644 linux-user/cris/target_resource.h
>   create mode 100644 linux-user/generic/target_resource.h
>   create mode 100644 linux-user/hexagon/target_resource.h
>   create mode 100644 linux-user/hppa/target_resource.h
>   create mode 100644 linux-user/i386/target_resource.h
>   create mode 100644 linux-user/m68k/target_resource.h
>   create mode 100644 linux-user/microblaze/target_resource.h
>   create mode 100644 linux-user/mips/target_resource.h
>   create mode 100644 linux-user/mips64/target_resource.h
>   create mode 100644 linux-user/nios2/target_resource.h
>   create mode 100644 linux-user/openrisc/target_resource.h
>   create mode 100644 linux-user/ppc/target_resource.h
>   create mode 100644 linux-user/riscv/target_resource.h
>   create mode 100644 linux-user/s390x/target_resource.h
>   create mode 100644 linux-user/sh4/target_resource.h
>   create mode 100644 linux-user/sparc/target_resource.h
>   create mode 100644 linux-user/x86_64/target_resource.h
>   create mode 100644 linux-user/xtensa/target_resource.h
> 
> diff --git a/linux-user/aarch64/target_resource.h b/linux-user/aarch64/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/aarch64/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/alpha/target_resource.h b/linux-user/alpha/target_resource.h
> new file mode 100644
> index 0000000000..c9b082faee
> --- /dev/null
> +++ b/linux-user/alpha/target_resource.h
> @@ -0,0 +1,21 @@
> +#ifndef ALPHA_TARGET_RESOURCE_H
> +#define ALPHA_TARGET_RESOURCE_H
> +
> +#include "../generic/target_resource.h"
> +
> +#undef TARGET_RLIM_INFINITY
> +#define TARGET_RLIM_INFINITY    0x7fffffffffffffffull
> +
> +#undef TARGET_RLIMIT_NOFILE
> +#define TARGET_RLIMIT_NOFILE    6
> +
> +#undef TARGET_RLIMIT_AS
> +#define TARGET_RLIMIT_AS        7
> +
> +#undef TARGET_RLIMIT_NPROC
> +#define TARGET_RLIMIT_NPROC     8
> +
> +#undef TARGET_RLIMIT_MEMLOCK
> +#define TARGET_RLIMIT_MEMLOCK   9
> +
> +#endif
> diff --git a/linux-user/arm/target_resource.h b/linux-user/arm/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/arm/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/cris/target_resource.h b/linux-user/cris/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/cris/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
> new file mode 100644
> index 0000000000..f04c93b125
> --- /dev/null
> +++ b/linux-user/generic/target_resource.h
> @@ -0,0 +1,37 @@
> +/*
> + * Target definitions of RLIMIT_* constants. These may be overridden by an
> + * architecture specific header if needed.
> + */
> +
> +#ifndef GENERIC_TARGET_RESOURCE_H
> +#define GENERIC_TARGET_RESOURCE_H
> +
> +struct target_rlimit {
> +    abi_ulong rlim_cur;
> +    abi_ulong rlim_max;
> +};
> +
> +struct target_rlimit64 {
> +    uint64_t rlim_cur;
> +    uint64_t rlim_max;
> +};
> +
> +#define TARGET_RLIM_INFINITY    ((abi_ulong)-1)
> +
> +#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
> +#define TARGET_RLIMIT_RSS               5
> +#define TARGET_RLIMIT_NPROC             6
> +#define TARGET_RLIMIT_NOFILE            7
> +#define TARGET_RLIMIT_MEMLOCK           8
> +#define TARGET_RLIMIT_AS                9
> +#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
> diff --git a/linux-user/hexagon/target_resource.h b/linux-user/hexagon/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/hexagon/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/hppa/target_resource.h b/linux-user/hppa/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/hppa/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/i386/target_resource.h b/linux-user/i386/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/i386/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/m68k/target_resource.h b/linux-user/m68k/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/m68k/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/microblaze/target_resource.h b/linux-user/microblaze/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/microblaze/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/mips/target_resource.h b/linux-user/mips/target_resource.h
> new file mode 100644
> index 0000000000..6d131b041d
> --- /dev/null
> +++ b/linux-user/mips/target_resource.h
> @@ -0,0 +1,24 @@
> +#ifndef MIPS_TARGET_RESOURCE_H
> +#define MIPS_TARGET_RESOURCE_H
> +
> +#include "../generic/target_resource.h"
> +
> +#undef TARGET_RLIM_INFINITY
> +#define TARGET_RLIM_INFINITY    0x7fffffffUL
> +
> +#undef TARGET_RLIMIT_NOFILE
> +#define TARGET_RLIMIT_NOFILE    5
> +
> +#undef TARGET_RLIMIT_AS
> +#define TARGET_RLIMIT_AS        6
> +
> +#undef TARGET_RLIMIT_RSS
> +#define TARGET_RLIMIT_RSS       7
> +
> +#undef TARGET_RLIMIT_NPROC
> +#define TARGET_RLIMIT_NPROC     8
> +
> +#undef TARGET_RLIMIT_MEMLOCK
> +#define TARGET_RLIMIT_MEMLOCK   9
> +
> +#endif
> diff --git a/linux-user/mips64/target_resource.h b/linux-user/mips64/target_resource.h
> new file mode 100644
> index 0000000000..fe29002a12
> --- /dev/null
> +++ b/linux-user/mips64/target_resource.h
> @@ -0,0 +1 @@
> +#include "../mips/target_resource.h"
> diff --git a/linux-user/nios2/target_resource.h b/linux-user/nios2/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/nios2/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/openrisc/target_resource.h b/linux-user/openrisc/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/openrisc/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/ppc/target_resource.h b/linux-user/ppc/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/ppc/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/riscv/target_resource.h b/linux-user/riscv/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/riscv/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/s390x/target_resource.h b/linux-user/s390x/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/s390x/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/sh4/target_resource.h b/linux-user/sh4/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/sh4/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/sparc/target_resource.h b/linux-user/sparc/target_resource.h
> new file mode 100644
> index 0000000000..d9a2fb814a
> --- /dev/null
> +++ b/linux-user/sparc/target_resource.h
> @@ -0,0 +1,17 @@
> +#ifndef SPARC_TARGET_RESOURCE_H
> +#define SPARC_TARGET_RESOURCE_H
> +
> +#include "../generic/target_resource.h"
> +
> +#if TARGET_ABI_BITS == 32
> +#undef TARGET_RLIM_INFINITY
> +#define TARGET_RLIM_INFINITY    0x7fffffffUL
> +#endif
> +
> +#undef TARGET_RLIMIT_NOFILE
> +#define TARGET_RLIMIT_NOFILE    6
> +
> +#undef TARGET_RLIMIT_NPROC
> +#define TARGET_RLIMIT_NPROC     7
> +
> +#endif
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 3fcabaeae3..78607effe8 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -717,54 +717,7 @@ typedef struct target_siginfo {
>   #define TARGET_TRAP_HWBKPT      (4)     /* hardware breakpoint/watchpoint */
>   #define TARGET_TRAP_UNK         (5)     /* undiagnosed trap */
>   
> -struct target_rlimit {
> -        abi_ulong   rlim_cur;
> -        abi_ulong   rlim_max;
> -};
> -
> -#if defined(TARGET_ALPHA)
> -#define TARGET_RLIM_INFINITY	0x7fffffffffffffffull
> -#elif defined(TARGET_MIPS) || (defined(TARGET_SPARC) && TARGET_ABI_BITS == 32)
> -#define TARGET_RLIM_INFINITY	0x7fffffffUL
> -#else
> -#define TARGET_RLIM_INFINITY	((abi_ulong)-1)
> -#endif
> -
> -#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_MEMLOCK		9
> -#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
> -#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
> -#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
> +#include "target_resource.h"
>   
>   struct target_pollfd {
>       int fd;           /* file descriptor */
> @@ -2769,10 +2722,6 @@ struct target_epoll_event {
>   #define TARGET_EP_MAX_EVENTS (INT_MAX / sizeof(struct target_epoll_event))
>   
>   #endif
> -struct target_rlimit64 {
> -    uint64_t rlim_cur;
> -    uint64_t rlim_max;
> -};
>   
>   struct target_ucred {
>       uint32_t pid;
> diff --git a/linux-user/x86_64/target_resource.h b/linux-user/x86_64/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/x86_64/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"
> diff --git a/linux-user/xtensa/target_resource.h b/linux-user/xtensa/target_resource.h
> new file mode 100644
> index 0000000000..227259594c
> --- /dev/null
> +++ b/linux-user/xtensa/target_resource.h
> @@ -0,0 +1 @@
> +#include "../generic/target_resource.h"

Applied to my linux-user-for-7.0 branch.

Thanks,
Laurent



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
  2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
  2022-01-31  9:26         ` Laurent Vivier
  2022-01-31  9:39         ` Laurent Vivier
@ 2022-02-01  7:02         ` Laurent Vivier
  2 siblings, 0 replies; 10+ messages in thread
From: Laurent Vivier @ 2022-02-01  7:02 UTC (permalink / raw)
  To: Serge Belyshev; +Cc: qemu-trivial, qemu-devel

Le 29/01/2022 à 20:48, Serge Belyshev a écrit :
> 
> Signed-off-by: Serge Belyshev <belyshev@depni.sinp.msu.ru>
> ---
>   linux-user/generic/target_resource.h | 1 +
>   linux-user/syscall.c                 | 2 ++
>   2 files changed, 3 insertions(+)
> 
> diff --git a/linux-user/generic/target_resource.h b/linux-user/generic/target_resource.h
> index f04c93b125..539d8c4677 100644
> --- a/linux-user/generic/target_resource.h
> +++ b/linux-user/generic/target_resource.h
> @@ -33,5 +33,6 @@ struct target_rlimit64 {
>   #define TARGET_RLIMIT_MSGQUEUE          12
>   #define TARGET_RLIMIT_NICE              13
>   #define TARGET_RLIMIT_RTPRIO            14
> +#define TARGET_RLIMIT_RTTIME            15
>   
>   #endif
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 5950222a77..6d41a741ac 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1083,6 +1083,8 @@ static inline int target_to_host_resource(int code)
>           return RLIMIT_RSS;
>       case TARGET_RLIMIT_RTPRIO:
>           return RLIMIT_RTPRIO;
> +    case TARGET_RLIMIT_RTTIME:
> +        return RLIMIT_RTTIME;
>       case TARGET_RLIMIT_SIGPENDING:
>           return RLIMIT_SIGPENDING;
>       case TARGET_RLIMIT_STACK:

Applied to my linux-user-for-7.0 branch.

Thanks,
Laurent



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2022-02-01  8:28 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-15 11:32 [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Serge Belyshev
2022-01-27 13:49 ` Laurent Vivier
2022-01-29 19:41   ` Serge Belyshev
2022-01-29 19:46     ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Serge Belyshev
2022-01-29 19:48       ` [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME Serge Belyshev
2022-01-31  9:26         ` Laurent Vivier
2022-01-31  9:39         ` Laurent Vivier
2022-02-01  7:02         ` Laurent Vivier
2022-02-01  7:02       ` [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h Laurent Vivier
2022-01-27 14:09 ` [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Laurent Vivier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.