diff options
Diffstat (limited to 'target-alpha/exec.h')
-rw-r--r-- | target-alpha/exec.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/target-alpha/exec.h b/target-alpha/exec.h index f109160a51..32c27c7354 100644 --- a/target-alpha/exec.h +++ b/target-alpha/exec.h @@ -79,4 +79,14 @@ int cpu_alpha_mtpr (CPUState *env, int iprn, uint64_t val, uint64_t *oldvalp); void do_interrupt (CPUState *env); +static inline int cpu_halted(CPUState *env) { + if (!env->halted) + return 0; + if (env->interrupt_request & CPU_INTERRUPT_HARD) { + env->halted = 0; + return 0; + } + return EXCP_HALTED; +} + #endif /* !defined (__ALPHA_EXEC_H__) */ |