FreeBSD/sys/dev/pci/isa_pci.c
/*
 * XXX we need to add a quirk list here for bridges that don't correctly
 *     report themselves.
 */
XXX we need to add a quirk list here for bridges that don't correctly
report themselves.
XXX we need to add a quirk list here for bridges that don ' t correctly report themselves .
static int
isab_pci_probe(device_t dev)
{
    int		matched = 0;
    if ((pci_get_class(dev) == PCIC_BRIDGE) &&
	(pci_get_subclass(dev) == PCIS_BRIDGE_ISA)) {
	matched = 1;
    } else {
	switch (pci_get_devid(dev)) {
	case 0x04848086:	
	case 0x122e8086:	
	case 0x70008086:	
	case 0x71108086:	
	case 0x71988086:	
	case 0x24108086:	
	case 0x24208086:	
	case 0x24408086:	
	case 0x00061004:	
	case 0x05861106:	
	case 0x05961106:	
	case 0x06861106:	
	case 0x153310b9:	
	case 0x154310b9:	
	case 0x00081039:	
	case 0x00001078:	
	case 0x01001078:	
	case 0xc7001045:	
	case 0x00011033:	
	case 0x002c1033:	
	case 0x003b1033:	
	case 0x886a1060:	
	case 0x02001166:	
	    if (bootverbose)
		printf("PCI-ISA bridge with incorrect subclass 0x%x\n",
		       pci_get_subclass(dev));
	    matched = 1;
	    break;
	default:
	    break;
	}
    }
    if (matched) {
	device_set_desc(dev, "PCI-ISA bridge");
	return(-10000);
    }
    return(ENXIO);
}
static int isab_pci_probe ( device_t dev ) { int matched = 0 ; if ( ( pci_get_class ( dev ) == PCIC_BRIDGE ) && ( pci_get_subclass ( dev ) == PCIS_BRIDGE_ISA ) ) { matched = 1 ; } else { switch ( pci_get_devid ( dev ) ) { case 0x04848086 : case 0x122e8086 : case 0x70008086 : case 0x71108086 : case 0x71988086 : case 0x24108086 : case 0x24208086 : case 0x24408086 : case 0x00061004 : case 0x05861106 : case 0x05961106 : case 0x06861106 : case 0x153310b9 : case 0x154310b9 : case 0x00081039 : case 0x00001078 : case 0x01001078 : case 0xc7001045 : case 0x00011033 : case 0x002c1033 : case 0x003b1033 : case 0x886a1060 : case 0x02001166 : if ( bootverbose ) printf ( " \n " , pci_get_subclass ( dev ) ) ; matched = 1 ; break ; default : break ; } } if ( matched ) { device_set_desc ( dev , " " ) ; return ( -10000 ) ; } return ( ENXIO ) ; }
XXX we need to add a quirk list here for bridges that don't correctly
     report themselves.
XXX we need to add a quirk list here for bridges that don ' t correctly report themselves .
/*
     * Try for a generic match based on class/subclass.
     */ /*
	 * These are devices that we *know* are PCI:ISA bridges. 
	 * Sometimes, however, they don't report themselves as
	 * such.  Check in case one of them is pretending to be
	 * something else.
	 */ /* Intel 82378ZB/82378IB */ /* Intel 82371FB */ /* Intel 82371SB */ /* Intel 82371AB */ /* Intel 82443MX */ /* Intel 82801AA (ICH) */ /* Intel 82801AB (ICH0) */ /* Intel 82801AB (ICH2) */ /* VLSI 82C593 */ /* VIA 82C586 */ /* VIA 82C596 */ /* VIA 82C686 */ /* AcerLabs M1533 */ /* AcerLabs M1543 */ /* SiS 85c503 */ /* Cyrix Cx5510 */ /* Cyrix Cx5530 */ /* OPTi 82C700 (FireStar) */ /* NEC 0001 (C-bus) */ /* NEC 002C (C-bus) */ /* NEC 003B (C-bus) */ /* UMC UM8886 ISA */ /* ServerWorks IB6566 PCI */