mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'remotes/lvivier-gitlab/tags/linux-user-for-7.0-pull-request' into staging
Linux-user pull request 20220207 Fix target rlimits for alpha Add startime in /proc/self/stat # gpg: Signature made Mon 07 Feb 2022 08:27:27 GMT # gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C # gpg: issuer "laurent@vivier.eu" # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full] # gpg: aka "Laurent Vivier <laurent@vivier.eu>" [full] # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full] # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * remotes/lvivier-gitlab/tags/linux-user-for-7.0-pull-request: linux-user/syscall: Translate TARGET_RLIMIT_RTTIME linux-user: Move generic TARGET_RLIMIT* definitions to generic/target_resource.h linux-user: Implement starttime field in self stat emulation linux-user: sigprocmask check read perms first linux-user: rt_sigprocmask, check read perms first linux-user: Fix inotify on aarch64 linux-user/alpha: Fix target rlimits for alpha and rearrange for clarity linux-user: Remove unnecessary 'aligned' attribute from TaskState Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
#include "../generic/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
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -1644,9 +1644,8 @@ TargetFdTrans target_eventfd_trans = {
|
||||
.target_to_host_data = swap_data_eventfd,
|
||||
};
|
||||
|
||||
#if (defined(TARGET_NR_inotify_init) && defined(__NR_inotify_init)) || \
|
||||
(defined(CONFIG_INOTIFY1) && defined(TARGET_NR_inotify_init1) && \
|
||||
defined(__NR_inotify_init1))
|
||||
#if defined(CONFIG_INOTIFY) && (defined(TARGET_NR_inotify_init) || \
|
||||
defined(TARGET_NR_inotify_init1))
|
||||
static abi_long host_to_target_data_inotify(void *buf, size_t len)
|
||||
{
|
||||
struct inotify_event *ev;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* 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
|
||||
#define TARGET_RLIMIT_RTTIME 15
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -190,12 +190,26 @@ void stop_all_tasks(void)
|
||||
/* Assumes contents are already zeroed. */
|
||||
void init_task_state(TaskState *ts)
|
||||
{
|
||||
long ticks_per_sec;
|
||||
struct timespec bt;
|
||||
|
||||
ts->used = 1;
|
||||
ts->sigaltstack_used = (struct target_sigaltstack) {
|
||||
.ss_sp = 0,
|
||||
.ss_size = 0,
|
||||
.ss_flags = TARGET_SS_DISABLE,
|
||||
};
|
||||
|
||||
/* Capture task start time relative to system boot */
|
||||
|
||||
ticks_per_sec = sysconf(_SC_CLK_TCK);
|
||||
|
||||
if ((ticks_per_sec > 0) && !clock_gettime(CLOCK_BOOTTIME, &bt)) {
|
||||
/* start_boottime is expressed in clock ticks */
|
||||
ts->start_boottime = bt.tv_sec * (uint64_t) ticks_per_sec;
|
||||
ts->start_boottime += bt.tv_nsec * (uint64_t) ticks_per_sec /
|
||||
NANOSECONDS_PER_SECOND;
|
||||
}
|
||||
}
|
||||
|
||||
CPUArchState *cpu_copy(CPUArchState *env)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/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
|
||||
@@ -0,0 +1 @@
|
||||
#include "../mips/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
+4
-5
@@ -94,10 +94,6 @@ struct emulated_sigtable {
|
||||
target_siginfo_t info;
|
||||
};
|
||||
|
||||
/*
|
||||
* NOTE: we force a big alignment so that the stack stored after is
|
||||
* aligned too
|
||||
*/
|
||||
typedef struct TaskState {
|
||||
pid_t ts_tid; /* tid (or pid) of this task */
|
||||
#ifdef TARGET_ARM
|
||||
@@ -158,7 +154,10 @@ typedef struct TaskState {
|
||||
|
||||
/* This thread's sigaltstack, if it has one */
|
||||
struct target_sigaltstack sigaltstack_used;
|
||||
} __attribute__((aligned(16))) TaskState;
|
||||
|
||||
/* Start time of task after system boot in clock ticks */
|
||||
uint64_t start_boottime;
|
||||
} TaskState;
|
||||
|
||||
abi_long do_brk(abi_ulong new_brk);
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
@@ -0,0 +1 @@
|
||||
#include "../generic/target_resource.h"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user