<dec f='src/src/sys/dev/pci/pcivar.h' l='375' type='int pcirescan(device_t , const char * , const int * )'/>
<def f='src/src/sys/dev/pci/pci.c' l='99' ll='110' type='int pcirescan(device_t self, const char * ifattr, const int * locators)'/>
<use f='src/src/sys/dev/pci/pci.c' l='204' u='c' c='pciattach'/>
<use f='src/src/sys/dev/pci/pci.c' l='494'/>
<use f='src/src/sys/dev/pci/pci.c' l='494'/>
<doc f='src/src/sys/dev/pci/pci.c' l='73'>/*
 * Important note about PCI-ISA bridges:
 *
 * Callbacks are used to configure these devices so that ISA/EISA bridges
 * can attach their child busses after PCI configuration is done.
 *
 * This works because:
 *	(1) there can be at most one ISA/EISA bridge per PCI bus, and
 *	(2) any ISA/EISA bridges must be attached to primary PCI
 *	    busses (i.e. bus zero).
 *
 * That boils down to: there can only be one of these outstanding
 * at a time, it is cleared when configuring PCI bus 0 before any
 * subdevices have been found, and it is run after all subdevices
 * of PCI bus 0 have been found.
 *
 * This is needed because there are some (legacy) PCI devices which
 * can show up as ISA/EISA devices as well (the prime example of which
 * are VGA controllers).  If you attach ISA from a PCI-ISA/EISA bridge,
 * and the bridge is seen before the video board is, the board can show
 * up as an ISA device, and that can (bogusly) complicate the PCI device&apos;s
 * attach code, or make the PCI device not be properly attached at all.
 *
 * We use the generic config_defer() facility to achieve this.
 */</doc>
