Revision 4917cf44 user-exec.c

b/user-exec.c
81 81
                                    int is_write, sigset_t *old_set,
82 82
                                    void *puc)
83 83
{
84
    CPUArchState *env;
84 85
    int ret;
85 86

  
86 87
#if defined(DEBUG_SIGNAL)
......
93 94
        return 1;
94 95
    }
95 96

  
97
    env = current_cpu->env_ptr;
96 98
    /* see if it is an MMU fault */
97
    ret = cpu_handle_mmu_fault(cpu_single_env, address, is_write,
98
                               MMU_USER_IDX);
99
    ret = cpu_handle_mmu_fault(env, address, is_write, MMU_USER_IDX);
99 100
    if (ret < 0) {
100 101
        return 0; /* not an MMU fault */
101 102
    }
......
103 104
        return 1; /* the MMU fault was handled without causing real CPU fault */
104 105
    }
105 106
    /* now we have a real cpu fault */
106
    cpu_restore_state(cpu_single_env, pc);
107
    cpu_restore_state(env, pc);
107 108

  
108 109
    /* we restore the process signal mask as the sigreturn should
109 110
       do it (XXX: use sigsetjmp) */
110 111
    sigprocmask(SIG_SETMASK, old_set, NULL);
111
    exception_action(cpu_single_env);
112
    exception_action(env);
112 113

  
113 114
    /* never comes here */
114 115
    return 1;

Also available in: Unified diff