Revision 6a4955a8 target-arm/exec.h

b/target-arm/exec.h
37 37
{
38 38
}
39 39

  
40
static inline int cpu_has_work(CPUState *env)
41
{
42
    return (env->interrupt_request &
43
            (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB));
44
}
45

  
40 46
static inline int cpu_halted(CPUState *env) {
41 47
    if (!env->halted)
42 48
        return 0;
43 49
    /* An interrupt wakes the CPU even if the I and F CPSR bits are
44 50
       set.  We use EXITTB to silently wake CPU without causing an
45 51
       actual interrupt.  */
46
    if (env->interrupt_request &
47
        (CPU_INTERRUPT_FIQ | CPU_INTERRUPT_HARD | CPU_INTERRUPT_EXITTB)) {
52
    if (cpu_has_work(env)) {
48 53
        env->halted = 0;
49 54
        return 0;
50 55
    }

Also available in: Unified diff