Revision 4dc28134 target-sparc/op_helper.c

b/target-sparc/op_helper.c
3301 3301
void helper_wrpstate(target_ulong new_state)
3302 3302
{
3303 3303
    change_pstate(new_state & 0xf3f);
3304

  
3305
#if !defined(CONFIG_USER_ONLY)
3306
    if (cpu_interrupts_enabled(env)) {
3307
        cpu_check_irqs(env);
3308
    }
3309
#endif
3304 3310
}
3305 3311

  
3306 3312
void helper_wrpil(target_ulong new_pil)
......
3328 3334
    change_pstate((tsptr->tstate >> 8) & 0xf3f);
3329 3335
    PUT_CWP64(env, tsptr->tstate & 0xff);
3330 3336
    env->tl--;
3337

  
3338
    DPRINTF_PSTATE("... helper_done tl=%d\n", env->tl);
3339

  
3340
#if !defined(CONFIG_USER_ONLY)
3341
    if (cpu_interrupts_enabled(env)) {
3342
        cpu_check_irqs(env);
3343
    }
3344
#endif
3331 3345
}
3332 3346

  
3333 3347
void helper_retry(void)
......
3341 3355
    change_pstate((tsptr->tstate >> 8) & 0xf3f);
3342 3356
    PUT_CWP64(env, tsptr->tstate & 0xff);
3343 3357
    env->tl--;
3358

  
3359
    DPRINTF_PSTATE("... helper_retry tl=%d\n", env->tl);
3360

  
3361
#if !defined(CONFIG_USER_ONLY)
3362
    if (cpu_interrupts_enabled(env)) {
3363
        cpu_check_irqs(env);
3364
    }
3365
#endif
3366
}
3367

  
3368
static void do_modify_softint(const char* operation, uint32_t value)
3369
{
3370
    if (env->softint != value) {
3371
        env->softint = value;
3372
        DPRINTF_PSTATE(": %s new %08x\n", operation, env->softint);
3373
#if !defined(CONFIG_USER_ONLY)
3374
        if (cpu_interrupts_enabled(env)) {
3375
            cpu_check_irqs(env);
3376
        }
3377
#endif
3378
    }
3344 3379
}
3345 3380

  
3346 3381
void helper_set_softint(uint64_t value)
3347 3382
{
3348
    env->softint |= (uint32_t)value;
3383
    do_modify_softint("helper_set_softint", env->softint | (uint32_t)value);
3349 3384
}
3350 3385

  
3351 3386
void helper_clear_softint(uint64_t value)
3352 3387
{
3353
    env->softint &= (uint32_t)~value;
3388
    do_modify_softint("helper_clear_softint", env->softint & (uint32_t)~value);
3354 3389
}
3355 3390

  
3356 3391
void helper_write_softint(uint64_t value)
3357 3392
{
3358
    env->softint = (uint32_t)value;
3393
    do_modify_softint("helper_write_softint", (uint32_t)value);
3359 3394
}
3360 3395
#endif
3361 3396

  

Also available in: Unified diff