Make uninteresting PCI devices with no attached drivers only print out
on a verbose boot MFC after: 2 weeks
This commit is contained in:
parent
4c05359867
commit
8197f45b6a
@ -3968,105 +3968,107 @@ static const struct
|
||||
{
|
||||
int class;
|
||||
int subclass;
|
||||
int report; /* 0 = bootverbose, 1 = always */
|
||||
const char *desc;
|
||||
} pci_nomatch_tab[] = {
|
||||
{PCIC_OLD, -1, "old"},
|
||||
{PCIC_OLD, PCIS_OLD_NONVGA, "non-VGA display device"},
|
||||
{PCIC_OLD, PCIS_OLD_VGA, "VGA-compatible display device"},
|
||||
{PCIC_STORAGE, -1, "mass storage"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SCSI, "SCSI"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_IDE, "ATA"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_FLOPPY, "floppy disk"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_IPI, "IPI"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_RAID, "RAID"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_ATA_ADMA, "ATA (ADMA)"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SATA, "SATA"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SAS, "SAS"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_NVM, "NVM"},
|
||||
{PCIC_NETWORK, -1, "network"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ETHERNET, "ethernet"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_TOKENRING, "token ring"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_FDDI, "fddi"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ATM, "ATM"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ISDN, "ISDN"},
|
||||
{PCIC_DISPLAY, -1, "display"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_VGA, "VGA"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_XGA, "XGA"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_3D, "3D"},
|
||||
{PCIC_MULTIMEDIA, -1, "multimedia"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_VIDEO, "video"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_AUDIO, "audio"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_TELE, "telephony"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_HDA, "HDA"},
|
||||
{PCIC_MEMORY, -1, "memory"},
|
||||
{PCIC_MEMORY, PCIS_MEMORY_RAM, "RAM"},
|
||||
{PCIC_MEMORY, PCIS_MEMORY_FLASH, "flash"},
|
||||
{PCIC_BRIDGE, -1, "bridge"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_HOST, "HOST-PCI"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_ISA, "PCI-ISA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_EISA, "PCI-EISA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_MCA, "PCI-MCA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_PCI, "PCI-PCI"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_PCMCIA, "PCI-PCMCIA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_NUBUS, "PCI-NuBus"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_CARDBUS, "PCI-CardBus"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_RACEWAY, "PCI-RACEway"},
|
||||
{PCIC_SIMPLECOMM, -1, "simple comms"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_UART, "UART"}, /* could detect 16550 */
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_PAR, "parallel port"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_MULSER, "multiport serial"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_MODEM, "generic modem"},
|
||||
{PCIC_BASEPERIPH, -1, "base peripheral"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_PIC, "interrupt controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_DMA, "DMA controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_TIMER, "timer"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_RTC, "realtime clock"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_PCIHOT, "PCI hot-plug controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_SDHC, "SD host controller"},
|
||||
{PCIC_INPUTDEV, -1, "input device"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_KEYBOARD, "keyboard"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_DIGITIZER,"digitizer"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_MOUSE, "mouse"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_SCANNER, "scanner"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_GAMEPORT, "gameport"},
|
||||
{PCIC_DOCKING, -1, "docking station"},
|
||||
{PCIC_PROCESSOR, -1, "processor"},
|
||||
{PCIC_SERIALBUS, -1, "serial bus"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_FW, "FireWire"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_ACCESS, "AccessBus"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_SSA, "SSA"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_USB, "USB"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_FC, "Fibre Channel"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_SMBUS, "SMBus"},
|
||||
{PCIC_WIRELESS, -1, "wireless controller"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_IRDA, "iRDA"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_IR, "IR"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_RF, "RF"},
|
||||
{PCIC_INTELLIIO, -1, "intelligent I/O controller"},
|
||||
{PCIC_INTELLIIO, PCIS_INTELLIIO_I2O, "I2O"},
|
||||
{PCIC_SATCOM, -1, "satellite communication"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_TV, "sat TV"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_AUDIO, "sat audio"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_VOICE, "sat voice"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_DATA, "sat data"},
|
||||
{PCIC_CRYPTO, -1, "encrypt/decrypt"},
|
||||
{PCIC_CRYPTO, PCIS_CRYPTO_NETCOMP, "network/computer crypto"},
|
||||
{PCIC_CRYPTO, PCIS_CRYPTO_ENTERTAIN, "entertainment crypto"},
|
||||
{PCIC_DASP, -1, "dasp"},
|
||||
{PCIC_DASP, PCIS_DASP_DPIO, "DPIO module"},
|
||||
{0, 0, NULL}
|
||||
{PCIC_OLD, -1, 1, "old"},
|
||||
{PCIC_OLD, PCIS_OLD_NONVGA, 1, "non-VGA display device"},
|
||||
{PCIC_OLD, PCIS_OLD_VGA, 1, "VGA-compatible display device"},
|
||||
{PCIC_STORAGE, -1, 1, "mass storage"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SCSI, 1, "SCSI"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_IDE, 1, "ATA"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_FLOPPY, 1, "floppy disk"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_IPI, 1, "IPI"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_RAID, 1, "RAID"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_ATA_ADMA, 1, "ATA (ADMA)"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SATA, 1, "SATA"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_SAS, 1, "SAS"},
|
||||
{PCIC_STORAGE, PCIS_STORAGE_NVM, 1, "NVM"},
|
||||
{PCIC_NETWORK, -1, 1, "network"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ETHERNET, 1, "ethernet"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_TOKENRING, 1, "token ring"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_FDDI, 1, "fddi"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ATM, 1, "ATM"},
|
||||
{PCIC_NETWORK, PCIS_NETWORK_ISDN, 1, "ISDN"},
|
||||
{PCIC_DISPLAY, -1, 1, "display"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_VGA, 1, "VGA"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_XGA, 1, "XGA"},
|
||||
{PCIC_DISPLAY, PCIS_DISPLAY_3D, 1, "3D"},
|
||||
{PCIC_MULTIMEDIA, -1, 1, "multimedia"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_VIDEO, 1, "video"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_AUDIO, 1, "audio"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_TELE, 1, "telephony"},
|
||||
{PCIC_MULTIMEDIA, PCIS_MULTIMEDIA_HDA, 1, "HDA"},
|
||||
{PCIC_MEMORY, -1, 1, "memory"},
|
||||
{PCIC_MEMORY, PCIS_MEMORY_RAM, 1, "RAM"},
|
||||
{PCIC_MEMORY, PCIS_MEMORY_FLASH, 1, "flash"},
|
||||
{PCIC_BRIDGE, -1, 1, "bridge"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_HOST, 1, "HOST-PCI"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_ISA, 1, "PCI-ISA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_EISA, 1, "PCI-EISA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_MCA, 1, "PCI-MCA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_PCI, 1, "PCI-PCI"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_PCMCIA, 1, "PCI-PCMCIA"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_NUBUS, 1, "PCI-NuBus"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_CARDBUS, 1, "PCI-CardBus"},
|
||||
{PCIC_BRIDGE, PCIS_BRIDGE_RACEWAY, 1, "PCI-RACEway"},
|
||||
{PCIC_SIMPLECOMM, -1, 1, "simple comms"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_UART, 1, "UART"}, /* could detect 16550 */
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_PAR, 1, "parallel port"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_MULSER, 1, "multiport serial"},
|
||||
{PCIC_SIMPLECOMM, PCIS_SIMPLECOMM_MODEM, 1, "generic modem"},
|
||||
{PCIC_BASEPERIPH, -1, 0, "base peripheral"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_PIC, 1, "interrupt controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_DMA, 1, "DMA controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_TIMER, 1, "timer"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_RTC, 1, "realtime clock"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_PCIHOT, 1, "PCI hot-plug controller"},
|
||||
{PCIC_BASEPERIPH, PCIS_BASEPERIPH_SDHC, 1, "SD host controller"},
|
||||
{PCIC_INPUTDEV, -1, 1, "input device"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_KEYBOARD, 1, "keyboard"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_DIGITIZER,1, "digitizer"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_MOUSE, 1, "mouse"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_SCANNER, 1, "scanner"},
|
||||
{PCIC_INPUTDEV, PCIS_INPUTDEV_GAMEPORT, 1, "gameport"},
|
||||
{PCIC_DOCKING, -1, 1, "docking station"},
|
||||
{PCIC_PROCESSOR, -1, 1, "processor"},
|
||||
{PCIC_SERIALBUS, -1, 1, "serial bus"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_FW, 1, "FireWire"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_ACCESS, 1, "AccessBus"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_SSA, 1, "SSA"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_USB, 1, "USB"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_FC, 1, "Fibre Channel"},
|
||||
{PCIC_SERIALBUS, PCIS_SERIALBUS_SMBUS, 0, "SMBus"},
|
||||
{PCIC_WIRELESS, -1, 1, "wireless controller"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_IRDA, 1, "iRDA"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_IR, 1, "IR"},
|
||||
{PCIC_WIRELESS, PCIS_WIRELESS_RF, 1, "RF"},
|
||||
{PCIC_INTELLIIO, -1, 1, "intelligent I/O controller"},
|
||||
{PCIC_INTELLIIO, PCIS_INTELLIIO_I2O, 1, "I2O"},
|
||||
{PCIC_SATCOM, -1, 1, "satellite communication"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_TV, 1, "sat TV"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_AUDIO, 1, "sat audio"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_VOICE, 1, "sat voice"},
|
||||
{PCIC_SATCOM, PCIS_SATCOM_DATA, 1, "sat data"},
|
||||
{PCIC_CRYPTO, -1, 1, "encrypt/decrypt"},
|
||||
{PCIC_CRYPTO, PCIS_CRYPTO_NETCOMP, 1, "network/computer crypto"},
|
||||
{PCIC_CRYPTO, PCIS_CRYPTO_ENTERTAIN, 1, "entertainment crypto"},
|
||||
{PCIC_DASP, -1, 0, "dasp"},
|
||||
{PCIC_DASP, PCIS_DASP_DPIO, 1, "DPIO module"},
|
||||
{0, 0, 0, NULL}
|
||||
};
|
||||
|
||||
void
|
||||
pci_probe_nomatch(device_t dev, device_t child)
|
||||
{
|
||||
int i;
|
||||
int i, report;
|
||||
const char *cp, *scp;
|
||||
char *device;
|
||||
|
||||
/*
|
||||
* Look for a listing for this device in a loaded device database.
|
||||
*/
|
||||
report = 1;
|
||||
if ((device = pci_describe_device(child)) != NULL) {
|
||||
device_printf(dev, "<%s>", device);
|
||||
free(device, M_DEVBUF);
|
||||
@ -4081,19 +4083,25 @@ pci_probe_nomatch(device_t dev, device_t child)
|
||||
if (pci_nomatch_tab[i].class == pci_get_class(child)) {
|
||||
if (pci_nomatch_tab[i].subclass == -1) {
|
||||
cp = pci_nomatch_tab[i].desc;
|
||||
report = pci_nomatch_tab[i].report;
|
||||
} else if (pci_nomatch_tab[i].subclass ==
|
||||
pci_get_subclass(child)) {
|
||||
scp = pci_nomatch_tab[i].desc;
|
||||
report = pci_nomatch_tab[i].report;
|
||||
}
|
||||
}
|
||||
}
|
||||
device_printf(dev, "<%s%s%s>",
|
||||
cp ? cp : "",
|
||||
((cp != NULL) && (scp != NULL)) ? ", " : "",
|
||||
scp ? scp : "");
|
||||
if (report || bootverbose) {
|
||||
device_printf(dev, "<%s%s%s>",
|
||||
cp ? cp : "",
|
||||
((cp != NULL) && (scp != NULL)) ? ", " : "",
|
||||
scp ? scp : "");
|
||||
}
|
||||
}
|
||||
if (report || bootverbose) {
|
||||
printf(" at device %d.%d (no driver attached)\n",
|
||||
pci_get_slot(child), pci_get_function(child));
|
||||
}
|
||||
printf(" at device %d.%d (no driver attached)\n",
|
||||
pci_get_slot(child), pci_get_function(child));
|
||||
pci_cfg_save(child, device_get_ivars(child), 1);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user