diff options
Diffstat (limited to 'target-mips')
-rw-r--r-- | target-mips/exec.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/target-mips/exec.h b/target-mips/exec.h index 18765f9679..8a118bb6b3 100644 --- a/target-mips/exec.h +++ b/target-mips/exec.h @@ -33,12 +33,18 @@ static inline void regs_to_env(void) { } +static inline int cpu_has_work(CPUState *env) +{ + return (env->interrupt_request & + (CPU_INTERRUPT_HARD | CPU_INTERRUPT_TIMER)); +} + + static inline int cpu_halted(CPUState *env) { if (!env->halted) return 0; - if (env->interrupt_request & - (CPU_INTERRUPT_HARD | CPU_INTERRUPT_TIMER)) { + if (cpu_has_work(env)) { env->halted = 0; return 0; } |