Revision 9349b4f9 linux-user/syscall.c
b/linux-user/syscall.c | ||
---|---|---|
3955 | 3955 |
|
3956 | 3956 |
static pthread_mutex_t clone_lock = PTHREAD_MUTEX_INITIALIZER; |
3957 | 3957 |
typedef struct { |
3958 |
CPUState *env; |
|
3958 |
CPUArchState *env;
|
|
3959 | 3959 |
pthread_mutex_t mutex; |
3960 | 3960 |
pthread_cond_t cond; |
3961 | 3961 |
pthread_t thread; |
... | ... | |
3968 | 3968 |
static void *clone_func(void *arg) |
3969 | 3969 |
{ |
3970 | 3970 |
new_thread_info *info = arg; |
3971 |
CPUState *env; |
|
3971 |
CPUArchState *env;
|
|
3972 | 3972 |
TaskState *ts; |
3973 | 3973 |
|
3974 | 3974 |
env = info->env; |
... | ... | |
3998 | 3998 |
|
3999 | 3999 |
static int clone_func(void *arg) |
4000 | 4000 |
{ |
4001 |
CPUState *env = arg; |
|
4001 |
CPUArchState *env = arg;
|
|
4002 | 4002 |
cpu_loop(env); |
4003 | 4003 |
/* never exits */ |
4004 | 4004 |
return 0; |
... | ... | |
4007 | 4007 |
|
4008 | 4008 |
/* do_fork() Must return host values and target errnos (unlike most |
4009 | 4009 |
do_*() functions). */ |
4010 |
static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp, |
|
4010 |
static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
|
4011 | 4011 |
abi_ulong parent_tidptr, target_ulong newtls, |
4012 | 4012 |
abi_ulong child_tidptr) |
4013 | 4013 |
{ |
4014 | 4014 |
int ret; |
4015 | 4015 |
TaskState *ts; |
4016 |
CPUState *new_env; |
|
4016 |
CPUArchState *new_env;
|
|
4017 | 4017 |
#if defined(CONFIG_USE_NPTL) |
4018 | 4018 |
unsigned int nptl_flags; |
4019 | 4019 |
sigset_t sigmask; |
... | ... | |
4640 | 4640 |
|
4641 | 4641 |
static int open_self_maps(void *cpu_env, int fd) |
4642 | 4642 |
{ |
4643 |
TaskState *ts = ((CPUState *)cpu_env)->opaque; |
|
4643 |
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
|
4644 | 4644 |
|
4645 | 4645 |
dprintf(fd, "%08llx-%08llx rw-p %08llx 00:00 0 [stack]\n", |
4646 | 4646 |
(unsigned long long)ts->info->stack_limit, |
... | ... | |
4653 | 4653 |
|
4654 | 4654 |
static int open_self_stat(void *cpu_env, int fd) |
4655 | 4655 |
{ |
4656 |
TaskState *ts = ((CPUState *)cpu_env)->opaque; |
|
4656 |
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
|
4657 | 4657 |
abi_ulong start_stack = ts->info->start_stack; |
4658 | 4658 |
int i; |
4659 | 4659 |
|
... | ... | |
4678 | 4678 |
|
4679 | 4679 |
static int open_self_auxv(void *cpu_env, int fd) |
4680 | 4680 |
{ |
4681 |
TaskState *ts = ((CPUState *)cpu_env)->opaque; |
|
4681 |
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
|
4682 | 4682 |
abi_ulong auxv = ts->info->saved_auxv; |
4683 | 4683 |
abi_ulong len = ts->info->auxv_len; |
4684 | 4684 |
char *ptr; |
... | ... | |
4784 | 4784 |
be disabling signals. */ |
4785 | 4785 |
if (first_cpu->next_cpu) { |
4786 | 4786 |
TaskState *ts; |
4787 |
CPUState **lastp; |
|
4788 |
CPUState *p; |
|
4787 |
CPUArchState **lastp;
|
|
4788 |
CPUArchState *p;
|
|
4789 | 4789 |
|
4790 | 4790 |
cpu_list_lock(); |
4791 | 4791 |
lastp = &first_cpu; |
4792 | 4792 |
p = first_cpu; |
4793 |
while (p && p != (CPUState *)cpu_env) { |
|
4793 |
while (p && p != (CPUArchState *)cpu_env) {
|
|
4794 | 4794 |
lastp = &p->next_cpu; |
4795 | 4795 |
p = p->next_cpu; |
4796 | 4796 |
} |
... | ... | |
4801 | 4801 |
/* Remove the CPU from the list. */ |
4802 | 4802 |
*lastp = p->next_cpu; |
4803 | 4803 |
cpu_list_unlock(); |
4804 |
ts = ((CPUState *)cpu_env)->opaque; |
|
4804 |
ts = ((CPUArchState *)cpu_env)->opaque;
|
|
4805 | 4805 |
if (ts->child_tidptr) { |
4806 | 4806 |
put_user_u32(0, ts->child_tidptr); |
4807 | 4807 |
sys_futex(g2h(ts->child_tidptr), FUTEX_WAKE, INT_MAX, |
... | ... | |
6091 | 6091 |
break; |
6092 | 6092 |
case TARGET_NR_mprotect: |
6093 | 6093 |
{ |
6094 |
TaskState *ts = ((CPUState *)cpu_env)->opaque; |
|
6094 |
TaskState *ts = ((CPUArchState *)cpu_env)->opaque;
|
|
6095 | 6095 |
/* Special hack to detect libc making the stack executable. */ |
6096 | 6096 |
if ((arg3 & PROT_GROWSDOWN) |
6097 | 6097 |
&& arg1 >= ts->info->stack_limit |
... | ... | |
7076 | 7076 |
#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_MIPS) || \ |
7077 | 7077 |
defined(TARGET_SPARC) || defined(TARGET_PPC) || defined(TARGET_ALPHA) || \ |
7078 | 7078 |
defined(TARGET_M68K) || defined(TARGET_S390X) |
7079 |
ret = do_sigaltstack(arg1, arg2, get_sp_from_cpustate((CPUState *)cpu_env)); |
|
7079 |
ret = do_sigaltstack(arg1, arg2, get_sp_from_cpustate((CPUArchState *)cpu_env));
|
|
7080 | 7080 |
break; |
7081 | 7081 |
#else |
7082 | 7082 |
goto unimplemented; |
Also available in: Unified diff