Revision 3110e292

b/cpu-exec.c
346 346
                    do_interrupt(env);
347 347
#elif defined(TARGET_M68K)
348 348
                    do_interrupt(0);
349
#elif defined(TARGET_S390X)
350
                    do_interrupt(env);
349 351
#endif
350 352
                    env->exception_index = -1;
351 353
#endif
......
560 562
                        do_interrupt(1);
561 563
                        next_tb = 0;
562 564
                    }
565
#elif defined(TARGET_S390X) && !defined(CONFIG_USER_ONLY)
566
                    if ((interrupt_request & CPU_INTERRUPT_HARD) &&
567
                        (env->psw.mask & PSW_MASK_EXT)) {
568
                        do_interrupt(env);
569
                        next_tb = 0;
570
                    }
563 571
#endif
564 572
                   /* Don't use the cached interupt_request value,
565 573
                      do_interrupt may have updated the EXITTB flag. */
b/target-s390x/exec.h
31 31

  
32 32
static inline int cpu_has_work(CPUState *env)
33 33
{
34
    return env->interrupt_request & CPU_INTERRUPT_HARD; // guess
34
    return ((env->interrupt_request & CPU_INTERRUPT_HARD) &&
35
            (env->psw.mask & PSW_MASK_EXT));
36
}
37

  
38
static inline void regs_to_env(void)
39
{
40
}
41

  
42
static inline void env_to_regs(void)
43
{
35 44
}
36 45

  
37 46
static inline void cpu_pc_from_tb(CPUState *env, TranslationBlock* tb)
b/target-s390x/helper.c
82 82
    return 0;
83 83
}
84 84
#endif /* CONFIG_USER_ONLY */
85

  
86
void do_interrupt (CPUState *env)
87
{
88
}

Also available in: Unified diff