* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).