isapc: Fix irq routing
authorGerd Hoffmann <kraxel@redhat.com>
Thu, 10 Sep 2009 09:43:23 +0000 (11:43 +0200)
committermalc <av1474@comtv.ru>
Thu, 10 Sep 2009 15:47:57 +0000 (19:47 +0400)
Only send irqs to ioapic in case we have one.
Fixes qemu segfault.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

hw/pc.c

diff --git a/hw/pc.c b/hw/pc.c
index 6292001..9af0cdb 100644 (file)
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -100,7 +100,8 @@ static void isa_irq_handler(void *opaque, int n, int level)
     if (n < 16) {
         qemu_set_irq(isa->i8259[n], level);
     }
-    qemu_set_irq(isa->ioapic[n], level);
+    if (isa->ioapic)
+        qemu_set_irq(isa->ioapic[n], level);
 };
 
 static void ioport80_write(void *opaque, uint32_t addr, uint32_t data)