aboutsummaryrefslogtreecommitdiff
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)
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