109f67678Sanish /* 209f67678Sanish * CDDL HEADER START 309f67678Sanish * 409f67678Sanish * The contents of this file are subject to the terms of the 5*337fc9e2Sanish * Common Development and Distribution License (the "License"). 6*337fc9e2Sanish * You may not use this file except in compliance with the License. 709f67678Sanish * 809f67678Sanish * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 909f67678Sanish * or http://www.opensolaris.org/os/licensing. 1009f67678Sanish * See the License for the specific language governing permissions 1109f67678Sanish * and limitations under the License. 1209f67678Sanish * 1309f67678Sanish * When distributing Covered Code, include this CDDL HEADER in each 1409f67678Sanish * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1509f67678Sanish * If applicable, add the following below this CDDL HEADER, with the 1609f67678Sanish * fields enclosed by brackets "[]" replaced with your own identifying 1709f67678Sanish * information: Portions Copyright [yyyy] [name of copyright owner] 1809f67678Sanish * 1909f67678Sanish * CDDL HEADER END 2009f67678Sanish */ 2109f67678Sanish 2209f67678Sanish /* 23*337fc9e2Sanish * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2409f67678Sanish * Use is subject to license terms. 2509f67678Sanish */ 2609f67678Sanish 2709f67678Sanish #pragma ident "%Z%%M% %I% %E% SMI" 2809f67678Sanish 2909f67678Sanish #include <sys/types.h> 3009f67678Sanish #include <sys/stat.h> 3109f67678Sanish #include "pci_strings.h" 3209f67678Sanish 3309f67678Sanish const pci_class_strings_t class_pci[] = { 3409f67678Sanish 0, 0, 0, "Unspecified class", "unknown", 3509f67678Sanish 0, 1, 0, "VGA compatible controller", "unknown", 3609f67678Sanish 3709f67678Sanish 1, 0, 0, "SCSI bus controller", "scsi", 3809f67678Sanish 1, 1, 0x80, "IDE controller", /* Special case */ "ide", 3909f67678Sanish 1, 2, 0, "Floppy controller", "flpydis", 4009f67678Sanish 1, 3, 0, "IPI bus controller", "ipi", 4109f67678Sanish 1, 4, 0, "RAID controller", "raid", 4209f67678Sanish 1, 5, 0x20, "ATA controller with single DMA", "ata", 4309f67678Sanish 1, 5, 0x30, "ATA controller with chained DMA", "ata", 4409f67678Sanish 1, 6, 0, "Serial ATA Direct Port Access (DPA)", "sata", 45*337fc9e2Sanish 1, 6, 1, "SATA AHCI 1.0 Interface", "sata", 46*337fc9e2Sanish 1, 6, 2, "Serial Storage Bus Interface", "sata", 47*337fc9e2Sanish 1, 7, 0, "Serial Attached SCSI Controller", "sas", 48*337fc9e2Sanish 1, 7, 1, "Serial Storage Bus Interface", "sas", 4909f67678Sanish 1, 0x80, 0, "Mass storage controller", "unknown", 5009f67678Sanish 5109f67678Sanish 2, 0, 0, "Ethernet controller", "etherne", 5209f67678Sanish 2, 1, 0, "Token ring controller", "tokenrg", 5309f67678Sanish 2, 2, 0, "FDDI controller", "fddi", 5409f67678Sanish 2, 3, 0, "ATM controller", "atm", 5509f67678Sanish 2, 4, 0, "ISDN controller", "isdn", 5609f67678Sanish 2, 5, 0, "WorldFip controller", "unknown", 5709f67678Sanish 2, 6, 0, "PICMG 2.14 Multi computing controller", "mcd", 5809f67678Sanish 2, 0x80, 0, "Network controller", "unknown", 5909f67678Sanish 6009f67678Sanish 3, 0, 0, "VGA compatible controller", "vga", 6109f67678Sanish 3, 0, 1, "8514-compatible display controller", "vgs8514", 6209f67678Sanish 3, 1, 0, "XGA video controller", "xga", 6309f67678Sanish 3, 2, 0, "3D controller", "3d", 6409f67678Sanish 3, 0x80, 0, "Video controller", "unknown", 6509f67678Sanish 6609f67678Sanish 4, 0, 0, "Video device", "video", 6709f67678Sanish 4, 1, 0, "Audio device", "audio", 6809f67678Sanish 4, 2, 0, "Computer Telephony device", "teleph", 69*337fc9e2Sanish 4, 3, 0, "Mixed Mode device", "mixed", 7009f67678Sanish 4, 0x80, 0, "Multimedia device", "unknown", 7109f67678Sanish 7209f67678Sanish 5, 0, 0, "Ram", "ram", 7309f67678Sanish 5, 1, 0, "Flash memory", "flash", 7409f67678Sanish 5, 0x80, 0, "Memory controller", "unknown", 7509f67678Sanish 7609f67678Sanish 6, 0, 0, "Host bridge", "hostpci", 7709f67678Sanish 6, 1, 0, "ISA bridge", "pci-isa", 7809f67678Sanish 6, 2, 0, "EISA bridge", "pcieisa", 7909f67678Sanish 6, 3, 0, "MCA bridge", "pci-mca", 8009f67678Sanish 6, 4, 0, "PCI-PCI bridge", "pci-pci", 8109f67678Sanish 6, 4, 1, "Subtractive Decode PCI-PCI bridge", "unknown", 8209f67678Sanish 6, 5, 0, "PCMCIA bridge", "pcipcmc", 8309f67678Sanish 6, 6, 0, "NuBus bridge", "pcinubu", 8409f67678Sanish 6, 7, 0, "CardBus bridge", "pcicard", 8509f67678Sanish 6, 8, 0, "RACE-way bridge transport mode", "pcirace", 8609f67678Sanish 6, 8, 1, "RACE-way bridge endpoint mode", "pcirace", 8709f67678Sanish 6, 9, 0x40, "Semi-transparent PCI-PCI primary bridge", "stpci", 8809f67678Sanish 6, 9, 0x80, "Semi-transparent PCI-PCI secondary bridge", "stpci", 8909f67678Sanish 6, 0xA, 0, "Infiniband-PCI bridge", "ib-pci", 90*337fc9e2Sanish 6, 0xB, 0, "AS Custom Interface bridge", "as-pci", 91*337fc9e2Sanish 6, 0xB, 1, "ASI-SIG Defined Portal Interface", "as-pci", 9209f67678Sanish 6, 0x80, 0, "Bridge device", "unknown", 9309f67678Sanish 9409f67678Sanish 7, 0, 0, "Serial controller", "serial", 9509f67678Sanish 7, 0, 1, "16450-compatible serial controller", "paralle", 9609f67678Sanish 7, 0, 2, "16550-compatible serial controller", "paralle", 9709f67678Sanish 7, 0, 3, "16650-compatible serial controller", "paralle", 9809f67678Sanish 7, 0, 4, "16750-compatible serial controller", "paralle", 9909f67678Sanish 7, 0, 5, "16850-compatible serial controller", "paralle", 10009f67678Sanish 7, 0, 6, "16950-compatible serial controller", "paralle", 10109f67678Sanish 7, 1, 0, "Parallel port", "paralle", 10209f67678Sanish 7, 1, 1, "Bidirectional parallel port", "paralle", 10309f67678Sanish 7, 1, 2, "ECP 1.X parallel port", "paralle", 10409f67678Sanish 7, 1, 3, "IEEE 1284 parallel port", "paralle", 10509f67678Sanish 7, 1, 0xFE, "IEEE 1284 target device", "1284tar", 10609f67678Sanish 7, 2, 0, "Multiport serial controller", "multise", 10709f67678Sanish 7, 3, 0, "Modem controller", "mdmctrl", 10809f67678Sanish 7, 3, 1, "Hayes 16450-compatible modem", "modem", 10909f67678Sanish 7, 3, 2, "Hayes 16550-compatible modem", "modem", 11009f67678Sanish 7, 3, 3, "Hayes 16650-compatible modem", "modem", 11109f67678Sanish 7, 3, 4, "Hayes 16750-compatible modem", "modem", 11209f67678Sanish 7, 4, 0, "GPIB controller", "gpibctl", 11309f67678Sanish 7, 5, 0, "Smartcard controller", "smctrlr", 11409f67678Sanish 7, 0x80, 0, "Communication device", "commdev", 11509f67678Sanish 11609f67678Sanish 8, 0, 0, "8259 PIC", "pic", 11709f67678Sanish 8, 0, 1, "ISA PIC", "pic", 11809f67678Sanish 8, 0, 2, "EISA PIC", "pic", 11909f67678Sanish 8, 0, 0x10, "I/O APIC", "pic", 12009f67678Sanish 8, 0, 0x20, "I/O(x) APIC", "iopic", 12109f67678Sanish 8, 1, 0, "8237 DMA controller", "dma", 12209f67678Sanish 8, 1, 1, "ISA DMA controller", "dma", 12309f67678Sanish 8, 1, 2, "EISA DMA controller", "dma", 12409f67678Sanish 8, 2, 0, "8254 system timer", "timer", 12509f67678Sanish 8, 2, 1, "ISA system timer", "timer", 12609f67678Sanish 8, 2, 2, "EISA system timers", "timer", 127*337fc9e2Sanish 8, 2, 3, "High Performance Event timer", "timer", 12809f67678Sanish 8, 3, 0, "Real time clock", "rtc", 12909f67678Sanish 8, 3, 1, "ISA real time clock", "rtc", 13009f67678Sanish 8, 4, 0, "PCI Hot-Plug controller", "pcihp", 131*337fc9e2Sanish 8, 5, 0, "SD Host controller", "sd-hc", 132*337fc9e2Sanish 8, 6, 0, "IOMMU controller", "iommu", 13309f67678Sanish 8, 0x80, 0, "System peripheral", "unknown", 13409f67678Sanish 13509f67678Sanish 9, 0, 0, "Keyboard controller", "keyboar", 13609f67678Sanish 9, 1, 0, "Digitizer (pen)", "tablet", 13709f67678Sanish 9, 2, 0, "Mouse controller", "mouse", 13809f67678Sanish 9, 3, 0, "Scanner controller", "scanner", 13909f67678Sanish 9, 4, 0, "Gameport controller", "gamepor", 140*337fc9e2Sanish 9, 4, 0x10, "Gameport Legacy controller", "gamepor", 14109f67678Sanish 9, 0x80, 0, "Input controller", "unknown", 14209f67678Sanish 14309f67678Sanish 10, 0, 0, "Generic Docking station", "docking", 14409f67678Sanish 10, 0x80, 0, "Docking station", "unknown", 14509f67678Sanish 14609f67678Sanish 11, 0, 0, "386", "386", 14709f67678Sanish 11, 1, 0, "486", "486", 14809f67678Sanish 11, 2, 0, "Pentium", "pentium", 14909f67678Sanish 11, 0x10, 0, "Alpha", "alpha", 15009f67678Sanish 11, 0x20, 0, "Power-PC", "powerpc", 15109f67678Sanish 11, 0x30, 0, "MIPS", "mips", 15209f67678Sanish 11, 0x40, 0, "Co-processor", "coproc", 153*337fc9e2Sanish 11, 0x80, 0, "Processor", "unknown", 15409f67678Sanish 15509f67678Sanish 12, 0, 0, "FireWire (IEEE 1394)", "1394", 15609f67678Sanish 12, 0, 0x10, "FireWire (IEEE 1394) OpenHCI compliant", "1394", 15709f67678Sanish 12, 1, 0, "ACCESS.bus", "access", 15809f67678Sanish 12, 2, 0, "SSA", "ssa", 15909f67678Sanish 12, 3, 0, "Universal Serial Bus UHCI compliant", "usb", 16009f67678Sanish 12, 3, 0x10, "Universal Serial Bus OHCI compliant", "usb", 16109f67678Sanish 12, 3, 0x20, "Universal Serial Bus EHCI compliant", "usb", 16209f67678Sanish 12, 3, 0x80, "Universal Serial Bus generic HCD", "usb", 16309f67678Sanish 12, 3, 0xFE, "Universal Serial Bus device", "usb", 16409f67678Sanish 12, 4, 0, "Fibre Channel", "fibre", 16509f67678Sanish 12, 5, 0, "SMBus (System Management Bus)", "smbus", 16609f67678Sanish 12, 6, 0, "InfiniBand", "ib", 16709f67678Sanish 12, 7, 0, "IPMI SMIC Interface", "ipmi", 16809f67678Sanish 12, 7, 1, "IPMI Keyboard Controller Style Interface", "ipmi", 16909f67678Sanish 12, 7, 2, "IPMI Block Transfer Interface", "ipmi", 17009f67678Sanish 12, 8, 0, "SERCOS Interface Standard", "sercos", 17109f67678Sanish 12, 9, 0, "CANbus", "canbus", 172*337fc9e2Sanish 12, 0x80, 0, "Serial Bus Controller", "unknown", 17309f67678Sanish 17409f67678Sanish 13, 0, 0, "IRDA Wireless controller", "irda", 17509f67678Sanish 13, 1, 0, "Consumer IR Wireless controller", "ir", 176*337fc9e2Sanish 13, 1, 0x10, "UWB Radio controller", "ir-uwb", 17709f67678Sanish 13, 0x10, 0, "RF Wireless controller", "rf", 17809f67678Sanish 13, 0x11, 0, "Bluetooth Wireless controller", "btooth", 17909f67678Sanish 13, 0x12, 0, "Broadband Wireless controller", "brdband", 18009f67678Sanish 13, 0x20, 0, "802.11a Wireless controller", "802.11a", 18109f67678Sanish 13, 0x21, 0, "802.11b Wireless controller", "802.11b", 18209f67678Sanish 13, 0x80, 0, "Wireless controller", "unknown", 18309f67678Sanish 18409f67678Sanish 14, 0, 0, "I20 controller", "i2o", 185*337fc9e2Sanish 14, 0, 1, "I20 Arch Specification 1.0", "i2o", 18609f67678Sanish 18709f67678Sanish 15, 1, 0, "TV Satellite controller", "tv", 18809f67678Sanish 15, 2, 0, "Audio Satellite controller", "audio", 18909f67678Sanish 15, 3, 0, "Voice Satellite controller", "voice", 19009f67678Sanish 15, 4, 0, "Data Satellite controller", "data", 191*337fc9e2Sanish 15, 0x80, 0, "Satellite Comm controller", "unknown", 19209f67678Sanish 19309f67678Sanish 16, 0, 0, "Network and computing en/decryption", "netcryp", 19409f67678Sanish 16, 1, 0, "Entertainment en/decryption", "entcryp", 19509f67678Sanish 16, 0x80, 0, "En/decryption controller", "unknown", 19609f67678Sanish 19709f67678Sanish 17, 0, 0, "DPIO modules", "dpio", 19809f67678Sanish 17, 1, 0, "Performance counters", "perfcnt", 19909f67678Sanish 17, 0x10, 0, "Comm Synch time and freq test/measurement", "cstftm", 20009f67678Sanish 17, 0x20, 0, "Management card", "mgmtcrd", 20109f67678Sanish 17, 0x80, 0, "DSP/DAP controllers", "unknown" 20209f67678Sanish }; 20309f67678Sanish 20409f67678Sanish int class_pci_items = sizeof (class_pci) / sizeof (class_pci[0]); 205