Commit 8c9d7f83bf1f2d61f0fdd5fbc030ab67c8f433e7

Authored by j_mayer
1 parent ef397e88

Fix PreP PCI IRQ mapping.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3483 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 2 deletions
hw/prep_pci.c
@@ -117,7 +117,6 @@ static CPUReadMemoryFunc *PPC_PCIIO_read[] = { @@ -117,7 +117,6 @@ static CPUReadMemoryFunc *PPC_PCIIO_read[] = {
117 &PPC_PCIIO_readl, 117 &PPC_PCIIO_readl,
118 }; 118 };
119 119
120 -/* Don't know if this matches real hardware, but it agrees with OHW. */  
121 static int prep_map_irq(PCIDevice *pci_dev, int irq_num) 120 static int prep_map_irq(PCIDevice *pci_dev, int irq_num)
122 { 121 {
123 return (irq_num + (pci_dev->devfn >> 3)) & 1; 122 return (irq_num + (pci_dev->devfn >> 3)) & 1;
@@ -125,7 +124,7 @@ static int prep_map_irq(PCIDevice *pci_dev, int irq_num) @@ -125,7 +124,7 @@ static int prep_map_irq(PCIDevice *pci_dev, int irq_num)
125 124
126 static void prep_set_irq(qemu_irq *pic, int irq_num, int level) 125 static void prep_set_irq(qemu_irq *pic, int irq_num, int level)
127 { 126 {
128 - qemu_set_irq(pic[irq_num ? 11 : 9], level); 127 + qemu_set_irq(pic[(irq_num & 1) ? 11 : 9] , level);
129 } 128 }
130 129
131 PCIBus *pci_prep_init(qemu_irq *pic) 130 PCIBus *pci_prep_init(qemu_irq *pic)