SlavIO interrupt controller fix, by Aurelien Jarno.
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 20 Mar 2007 16:52:54 +0000 (16:52 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 20 Mar 2007 16:52:54 +0000 (16:52 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2515 c046a42c-6fe2-441c-8c8c-71466251a162

hw/slavio_intctl.c

index 288fb50..456d967 100644 (file)
@@ -293,6 +293,7 @@ void slavio_pic_set_irq(void *opaque, int irq, int level)
            if (level) {
                s->intregm_pending |= mask;
                s->intreg_pending[s->target_cpu] |= 1 << pil;
+               slavio_check_interrupts(s);
            }
            else {
                s->intregm_pending &= ~mask;
@@ -300,7 +301,6 @@ void slavio_pic_set_irq(void *opaque, int irq, int level)
            }
        }
     }
-    slavio_check_interrupts(s);
 }
 
 void slavio_pic_set_irq_cpu(void *opaque, int irq, int level, unsigned int cpu)