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