diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2009-11-15 14:30:56 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2009-11-15 14:30:56 +0000 |
commit | 603987488c61ca02ee99890d07cdaecdb118a659 (patch) | |
tree | 683de4eec793215d501a6b477f75bc98e7e0ece5 | |
parent | c364c974d9ab90e25e7887f516da65d2811ba5e3 (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>
-rw-r--r-- | hw/unin_pci.c | 4 |
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 |