[PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h

Serge Belyshev posted 1 patch 2 years, 3 months ago
Failed in applying to current master (apply log)
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
[PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h
Posted by Serge Belyshev 2 years, 3 months ago

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


Re: [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h
Posted by Laurent Vivier 2 years, 3 months ago
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


[PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
Posted by Serge Belyshev 2 years, 3 months ago

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


Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
Posted by Laurent Vivier 2 years, 3 months ago
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>

Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
Posted by Laurent Vivier 2 years, 3 months ago
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>

Re: [PATCH] linux-user/syscall: Translate TARGET_RLIMIT_RTTIME
Posted by Laurent Vivier 2 years, 3 months ago
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