From: Laurent Vivier <laurent@vivier.eu>
To: Serge Belyshev <belyshev@depni.sinp.msu.ru>
Cc: qemu-trivial@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH] linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h
Date: Tue, 1 Feb 2022 08:02:11 +0100 [thread overview]
Message-ID: <bf2f08b6-d6b2-3080-f031-b3cec85b64cd@vivier.eu> (raw)
In-Reply-To: <87ee4ql3yk.fsf_-_@depni.sinp.msu.ru>
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
next prev parent reply other threads:[~2022-02-01 8:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
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 ` Laurent Vivier [this message]
2022-01-27 14:09 ` [PATCH] linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity Laurent Vivier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bf2f08b6-d6b2-3080-f031-b3cec85b64cd@vivier.eu \
--to=laurent@vivier.eu \
--cc=belyshev@depni.sinp.msu.ru \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).