summary refs log tree commit diff stats
path: root/hw/unin_pci.c
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2009-11-15 14:30:56 +0000
committerBlue Swirl <blauwirbel@gmail.com>2009-11-15 14:30:56 +0000
commit603987488c61ca02ee99890d07cdaecdb118a659 (patch)
tree683de4eec793215d501a6b477f75bc98e7e0ece5 /hw/unin_pci.c
parentc364c974d9ab90e25e7887f516da65d2811ba5e3 (diff)
downloadfocaccia-qemu-603987488c61ca02ee99890d07cdaecdb118a659.tar.gz
focaccia-qemu-603987488c61ca02ee99890d07cdaecdb118a659.zip
PPC64: Partial fix to Linux crash: revert to old devfn
Before 2e29bd04786003561303dcad940b38afe790fb9b, Uni-North host and AGP
bridge were using the same devfn, 11 << 3. The net effect was that only
AGP bridge was visible. This was changed in the commit to 13 << 3 for AGP.

Some of the later crashes happened due to NULL pointer dereferences generated
by 07b7d05377a5e2b242ef0cce3d461d3284700fc0 and insufficient return value
checks.

Disable host device and revert AGP to 11 << 3.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/unin_pci.c')
-rw-r--r--hw/unin_pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/unin_pci.c b/hw/unin_pci.c
index f089cbd07d..e1cd2a375b 100644
--- a/hw/unin_pci.c
+++ b/hw/unin_pci.c
@@ -156,7 +156,9 @@ PCIBus *pci_pmac_init(qemu_irq *pic)
                                          pci_unin_set_irq, pci_unin_map_irq,
                                          pic, 11 << 3, 4);
 
+#if 0
     pci_create_simple(d->host_state.bus, 11 << 3, "Uni-north main");
+#endif
 
     sysbus_mmio_map(s, 0, 0xf2800000);
     sysbus_mmio_map(s, 1, 0xf2c00000);
@@ -168,7 +170,7 @@ PCIBus *pci_pmac_init(qemu_irq *pic)
 #endif
 
     /* Uninorth AGP bus */
-    pci_create_simple(d->host_state.bus, 13 << 3, "Uni-north AGP");
+    pci_create_simple(d->host_state.bus, 11 << 3, "Uni-north AGP");
 
     /* Uninorth internal bus */
 #if 0