sun4u: initialize OBIO interrupt mappings
authorArtyom Tarasenko <atar4qemu@gmail.com>
Sat, 12 May 2012 09:15:22 +0000 (11:15 +0200)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 12 May 2012 09:49:17 +0000 (09:49 +0000)
Similarly to PCI interrupt mappings, the OBIO ones have to be initialized.

Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/apb_pci.c

index 7e28808ec49a3c2c1c7c7d2914fcb504f8082dce..d4e11bc1bb3ce36ea81bb67a90156edb0bce398b 100644 (file)
@@ -404,6 +404,9 @@ static void pci_pbm_reset(DeviceState *d)
     for (i = 0; i < 8; i++) {
         s->pci_irq_map[i] &= PBM_PCI_IMR_MASK;
     }
+    for (i = 0; i < 32; i++) {
+        s->obio_irq_map[i] &= PBM_PCI_IMR_MASK;
+    }
 
     if (s->nr_resets++ == 0) {
         /* Power on reset */
@@ -426,6 +429,9 @@ static int pci_pbm_init_device(SysBusDevice *dev)
     for (i = 0; i < 8; i++) {
         s->pci_irq_map[i] = (0x1f << 6) | (i << 2);
     }
+    for (i = 0; i < 32; i++) {
+        s->obio_irq_map[i] = ((0x1f << 6) | 0x20) + i;
+    }
     s->pbm_irqs = qemu_allocate_irqs(pci_apb_set_irq, s, MAX_IVEC);
 
     /* apb_config */