]> Git Repo - qemu.git/commitdiff
i8259: Update IRQ state after reset
authorJan Kiszka <[email protected]>
Fri, 7 Oct 2011 07:19:44 +0000 (09:19 +0200)
committerBlue Swirl <[email protected]>
Sun, 16 Oct 2011 11:11:05 +0000 (11:11 +0000)
MIPS and PPC users of the i8259 output signal expect us to report state
updates also after reset. As no consumer (including the master PIC) can
misinterpret the deassert as an activation event, it is safe to simply
update the IRQ state after reset.

Signed-off-by: Jan Kiszka <[email protected]>
Signed-off-by: Blue Swirl <[email protected]>
hw/i8259.c

index b7a011fb6923e9dbdee57cd3c27889145e26bb9c..3498c6bf66aa84eb6fce9805b5063213d5ed561c 100644 (file)
@@ -283,6 +283,7 @@ static void pic_reset(void *opaque)
     s->init4 = 0;
     s->single_mode = 0;
     /* Note: ELCR is not reset */
+    pic_update_irq(s->pics_state);
 }
 
 static void pic_ioport_write(void *opaque, target_phys_addr_t addr64,
@@ -298,8 +299,6 @@ static void pic_ioport_write(void *opaque, target_phys_addr_t addr64,
         if (val & 0x10) {
             /* init */
             pic_reset(s);
-            /* deassert a pending interrupt */
-            qemu_irq_lower(s->pics_state->pics[0].int_out);
             s->init_state = 1;
             s->init4 = val & 1;
             s->single_mode = val & 2;
This page took 0.028876 seconds and 4 git commands to generate.