• Paul Mackerras's avatar
    powerpc: Fix pciconfig_iobase system call on PCI-Express powermac · 16124f10
    Paul Mackerras authored
    X has been failing to start on my quad G5 powermac since commit
    1fd0f525 ("powerpc: Fix domain numbers
    in /proc on 64-bit") went in.  The reason is that the change allows X
    to see the PCI-PCI bridge above the video card (previously it was
    obscured by the fact that there were two "00" directories in
    /proc/bus/pci), and the pciconfig_iobase system call on the bridge is
    failing because of a hack that we have to return information about the
    AGP bus when X asks about bus 0.  This machine doesn't have an AGP bus
    (it has PCI Express) and so the pciconfig_iobase call is returning -1,
    which ultimately causes X to fail to start.
    
    This fixes it by checking that we have an AGP bridge before
    redirecting the pciconfig_iobase call to return information about the
    AGP bus.  With this, X starts successfully both on a quad G5 with
    PCI Express and on an older dual G5 with AGP.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    16124f10
pci_64.c 16.3 KB