Revision af5ad107

b/translate-all.c
25 25

  
26 26
#include "config.h"
27 27

  
28
#define IN_OP_I386
28
#define NO_CPU_IO_DEFS
29 29
#include "cpu.h"
30 30
#include "exec-all.h"
31 31
#include "disas.h"
......
192 192
#elif defined(TARGET_SPARC)
193 193
    env->pc = gen_opc_pc[j];
194 194
#elif defined(TARGET_PPC)
195
    env->nip = gen_opc_pc[j];
195
    {
196
        int type;
197
        /* for PPC, we need to look at the micro operation to get the
198
           access type */
199
        env->nip = gen_opc_pc[j];
200
        switch(c) {
201
#if defined(CONFIG_USER_ONLY)
202
#define CASE3(op)\
203
        case INDEX_op_ ## op ## _raw
204
#else
205
#define CASE3(op)\
206
        case INDEX_op_ ## op ## _raw:\
207
        case INDEX_op_ ## op ## _user:\
208
        case INDEX_op_ ## op ## _kernel
209
#endif
210
            
211
        CASE3(stfd):
212
        CASE3(stfs):
213
        CASE3(lfd):
214
        CASE3(lfs):
215
            type = ACCESS_FLOAT;
216
            break;
217
        CASE3(stwcx):
218
            type = ACCESS_RES;
219
            break;
220
        CASE3(eciwx):
221
        CASE3(ecowx):
222
            type = ACCESS_EXT;
223
            break;
224
        default:
225
            type = ACCESS_INT;
226
            break;
227
        }
228
        env->access_type = type;
229
    }
196 230
#endif
197 231
    return 0;
198 232
}

Also available in: Unified diff