Revision aaed909a target-m68k/translate.c

b/target-m68k/translate.c
3279 3279
    return gen_intermediate_code_internal(env, tb, 1);
3280 3280
}
3281 3281

  
3282
void cpu_reset(CPUM68KState *env)
3283
{
3284
    memset(env, 0, offsetof(CPUM68KState, breakpoints));
3285
#if !defined (CONFIG_USER_ONLY)
3286
    env->sr = 0x2700;
3287
#endif
3288
    m68k_switch_sp(env);
3289
    /* ??? FP regs should be initialized to NaN.  */
3290
    env->cc_op = CC_OP_FLAGS;
3291
    /* TODO: We should set PC from the interrupt vector.  */
3292
    env->pc = 0;
3293
    tlb_flush(env, 1);
3294
}
3295

  
3296
CPUM68KState *cpu_m68k_init(void)
3297
{
3298
    CPUM68KState *env;
3299

  
3300
    env = malloc(sizeof(CPUM68KState));
3301
    if (!env)
3302
        return NULL;
3303
    cpu_exec_init(env);
3304

  
3305
    cpu_reset(env);
3306
    return env;
3307
}
3308

  
3309
void cpu_m68k_close(CPUM68KState *env)
3310
{
3311
    free(env);
3312
}
3313

  
3314 3282
void cpu_dump_state(CPUState *env, FILE *f,
3315 3283
                    int (*cpu_fprintf)(FILE *f, const char *fmt, ...),
3316 3284
                    int flags)

Also available in: Unified diff