ia64/xen-unstable

changeset 4219:735a0b87a9a1

bitkeeper revision 1.1159.273.2 (423c8d62e3tPnc05kdzopOE3xfcNiA)

Allow domain0 to see PCI bridges. It should be able to deal with
seeing PCI buses twice (once as a 'root bridge' from Xen; once by
scanning behind a PCI-PCI bridge itself), and this gets rid of
problems where the bridge needs to be seen by XenLinux for drivers
to work (e.g., Mellanox Infiniband chipsets).
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Sat Mar 19 20:36:50 2005 +0000 (2005-03-19)
parents 92d8cf63dd24
children 97a5b9def4b3 1a1a16726bd2
files xen/common/physdev.c
line diff
     1.1 --- a/xen/common/physdev.c	Sat Mar 19 20:30:54 2005 +0000
     1.2 +++ b/xen/common/physdev.c	Sat Mar 19 20:36:50 2005 +0000
     1.3 @@ -733,22 +733,6 @@ void physdev_init_dom0(struct domain *p)
     1.4              continue;
     1.5          }
     1.6  
     1.7 -        /* Skip bridges and other peculiarities for now.
     1.8 -         *
     1.9 -         * Note that this can prevent the guest from detecting devices
    1.10 -         * with fn>0 on slots where the fn=0 device is a bridge.  We
    1.11 -         * can identify such slots by looking at the multifunction bit
    1.12 -         * (top bit of hdr_type, masked out in dev->hdr_type).
    1.13 -         *
    1.14 -         * In Linux2.4 we find all devices because the detection code
    1.15 -         * scans all functions if the read of the fn=0 device's header
    1.16 -         * type fails.
    1.17 -         *
    1.18 -         * In Linux2.6 we set pcibios_scan_all_fns().
    1.19 -         */
    1.20 -        if ( (dev->hdr_type != PCI_HEADER_TYPE_NORMAL) &&
    1.21 -             (dev->hdr_type != PCI_HEADER_TYPE_CARDBUS) )
    1.22 -            continue;
    1.23          pdev = xmalloc(sizeof(phys_dev_t));
    1.24          pdev->dev = dev;
    1.25          pdev->flags = ACC_WRITE;