Revision b614106a

b/hw/pc.c
118 118
{
119 119
    CPUState *env = first_cpu;
120 120

  
121
    if (!level)
122
        return;
123

  
124 121
    if (env->apic_state) {
122
        if (!level)
123
            return;
125 124
        while (env) {
126 125
            if (apic_accept_pic_intr(env))
127 126
                apic_local_deliver(env, APIC_LINT0);
128 127
            env = env->next_cpu;
129 128
        }
130 129
    } else {
131
        cpu_interrupt(env, CPU_INTERRUPT_HARD);
130
        if (level)
131
            cpu_interrupt(env, CPU_INTERRUPT_HARD);
132
        else
133
            cpu_reset_interrupt(env, CPU_INTERRUPT_HARD);
132 134
    }
133 135
}
134 136

  

Also available in: Unified diff