1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #pragma ident "%Z%%M% %I% %E% SMI" 28 29 #include <sys/types.h> 30 #include <sys/stat.h> 31 #include "pci_strings.h" 32 33 const pci_class_strings_t class_pci[] = { 34 0, 0, 0, "Unspecified class", "unknown", 35 0, 1, 0, "VGA compatible controller", "unknown", 36 37 1, 0, 0, "SCSI bus controller", "scsi", 38 1, 1, 0x80, "IDE controller", /* Special case */ "ide", 39 1, 2, 0, "Floppy controller", "flpydis", 40 1, 3, 0, "IPI bus controller", "ipi", 41 1, 4, 0, "RAID controller", "raid", 42 1, 5, 0x20, "ATA controller with single DMA", "ata", 43 1, 5, 0x30, "ATA controller with chained DMA", "ata", 44 1, 6, 0, "Serial ATA Direct Port Access (DPA)", "sata", 45 1, 6, 1, "SATA AHCI 1.0 Interface", "sata", 46 1, 6, 2, "Serial Storage Bus Interface", "sata", 47 1, 7, 0, "Serial Attached SCSI Controller", "sas", 48 1, 7, 1, "Serial Storage Bus Interface", "sas", 49 1, 0x80, 0, "Mass storage controller", "unknown", 50 51 2, 0, 0, "Ethernet controller", "etherne", 52 2, 1, 0, "Token ring controller", "tokenrg", 53 2, 2, 0, "FDDI controller", "fddi", 54 2, 3, 0, "ATM controller", "atm", 55 2, 4, 0, "ISDN controller", "isdn", 56 2, 5, 0, "WorldFip controller", "unknown", 57 2, 6, 0, "PICMG 2.14 Multi computing controller", "mcd", 58 2, 0x80, 0, "Network controller", "unknown", 59 60 3, 0, 0, "VGA compatible controller", "vga", 61 3, 0, 1, "8514-compatible display controller", "vgs8514", 62 3, 1, 0, "XGA video controller", "xga", 63 3, 2, 0, "3D controller", "3d", 64 3, 0x80, 0, "Video controller", "unknown", 65 66 4, 0, 0, "Video device", "video", 67 4, 1, 0, "Audio device", "audio", 68 4, 2, 0, "Computer Telephony device", "teleph", 69 4, 3, 0, "Mixed Mode device", "mixed", 70 4, 0x80, 0, "Multimedia device", "unknown", 71 72 5, 0, 0, "Ram", "ram", 73 5, 1, 0, "Flash memory", "flash", 74 5, 0x80, 0, "Memory controller", "unknown", 75 76 6, 0, 0, "Host bridge", "hostpci", 77 6, 1, 0, "ISA bridge", "pci-isa", 78 6, 2, 0, "EISA bridge", "pcieisa", 79 6, 3, 0, "MCA bridge", "pci-mca", 80 6, 4, 0, "PCI-PCI bridge", "pci-pci", 81 6, 4, 1, "Subtractive Decode PCI-PCI bridge", "unknown", 82 6, 5, 0, "PCMCIA bridge", "pcipcmc", 83 6, 6, 0, "NuBus bridge", "pcinubu", 84 6, 7, 0, "CardBus bridge", "pcicard", 85 6, 8, 0, "RACE-way bridge transport mode", "pcirace", 86 6, 8, 1, "RACE-way bridge endpoint mode", "pcirace", 87 6, 9, 0x40, "Semi-transparent PCI-PCI primary bridge", "stpci", 88 6, 9, 0x80, "Semi-transparent PCI-PCI secondary bridge", "stpci", 89 6, 0xA, 0, "Infiniband-PCI bridge", "ib-pci", 90 6, 0xB, 0, "AS Custom Interface bridge", "as-pci", 91 6, 0xB, 1, "ASI-SIG Defined Portal Interface", "as-pci", 92 6, 0x80, 0, "Bridge device", "unknown", 93 94 7, 0, 0, "Serial controller", "serial", 95 7, 0, 1, "16450-compatible serial controller", "paralle", 96 7, 0, 2, "16550-compatible serial controller", "paralle", 97 7, 0, 3, "16650-compatible serial controller", "paralle", 98 7, 0, 4, "16750-compatible serial controller", "paralle", 99 7, 0, 5, "16850-compatible serial controller", "paralle", 100 7, 0, 6, "16950-compatible serial controller", "paralle", 101 7, 1, 0, "Parallel port", "paralle", 102 7, 1, 1, "Bidirectional parallel port", "paralle", 103 7, 1, 2, "ECP 1.X parallel port", "paralle", 104 7, 1, 3, "IEEE 1284 parallel port", "paralle", 105 7, 1, 0xFE, "IEEE 1284 target device", "1284tar", 106 7, 2, 0, "Multiport serial controller", "multise", 107 7, 3, 0, "Modem controller", "mdmctrl", 108 7, 3, 1, "Hayes 16450-compatible modem", "modem", 109 7, 3, 2, "Hayes 16550-compatible modem", "modem", 110 7, 3, 3, "Hayes 16650-compatible modem", "modem", 111 7, 3, 4, "Hayes 16750-compatible modem", "modem", 112 7, 4, 0, "GPIB controller", "gpibctl", 113 7, 5, 0, "Smartcard controller", "smctrlr", 114 7, 0x80, 0, "Communication device", "commdev", 115 116 8, 0, 0, "8259 PIC", "pic", 117 8, 0, 1, "ISA PIC", "pic", 118 8, 0, 2, "EISA PIC", "pic", 119 8, 0, 0x10, "I/O APIC", "pic", 120 8, 0, 0x20, "I/O(x) APIC", "iopic", 121 8, 1, 0, "8237 DMA controller", "dma", 122 8, 1, 1, "ISA DMA controller", "dma", 123 8, 1, 2, "EISA DMA controller", "dma", 124 8, 2, 0, "8254 system timer", "timer", 125 8, 2, 1, "ISA system timer", "timer", 126 8, 2, 2, "EISA system timers", "timer", 127 8, 2, 3, "High Performance Event timer", "timer", 128 8, 3, 0, "Real time clock", "rtc", 129 8, 3, 1, "ISA real time clock", "rtc", 130 8, 4, 0, "PCI Hot-Plug controller", "pcihp", 131 8, 5, 0, "SD Host controller", "sd-hc", 132 8, 6, 0, "IOMMU controller", "iommu", 133 8, 0x80, 0, "System peripheral", "unknown", 134 135 9, 0, 0, "Keyboard controller", "keyboar", 136 9, 1, 0, "Digitizer (pen)", "tablet", 137 9, 2, 0, "Mouse controller", "mouse", 138 9, 3, 0, "Scanner controller", "scanner", 139 9, 4, 0, "Gameport controller", "gamepor", 140 9, 4, 0x10, "Gameport Legacy controller", "gamepor", 141 9, 0x80, 0, "Input controller", "unknown", 142 143 10, 0, 0, "Generic Docking station", "docking", 144 10, 0x80, 0, "Docking station", "unknown", 145 146 11, 0, 0, "386", "386", 147 11, 1, 0, "486", "486", 148 11, 2, 0, "Pentium", "pentium", 149 11, 0x10, 0, "Alpha", "alpha", 150 11, 0x20, 0, "Power-PC", "powerpc", 151 11, 0x30, 0, "MIPS", "mips", 152 11, 0x40, 0, "Co-processor", "coproc", 153 11, 0x80, 0, "Processor", "unknown", 154 155 12, 0, 0, "FireWire (IEEE 1394)", "1394", 156 12, 0, 0x10, "FireWire (IEEE 1394) OpenHCI compliant", "1394", 157 12, 1, 0, "ACCESS.bus", "access", 158 12, 2, 0, "SSA", "ssa", 159 12, 3, 0, "Universal Serial Bus UHCI compliant", "usb", 160 12, 3, 0x10, "Universal Serial Bus OHCI compliant", "usb", 161 12, 3, 0x20, "Universal Serial Bus EHCI compliant", "usb", 162 12, 3, 0x80, "Universal Serial Bus generic HCD", "usb", 163 12, 3, 0xFE, "Universal Serial Bus device", "usb", 164 12, 4, 0, "Fibre Channel", "fibre", 165 12, 5, 0, "SMBus (System Management Bus)", "smbus", 166 12, 6, 0, "InfiniBand", "ib", 167 12, 7, 0, "IPMI SMIC Interface", "ipmi", 168 12, 7, 1, "IPMI Keyboard Controller Style Interface", "ipmi", 169 12, 7, 2, "IPMI Block Transfer Interface", "ipmi", 170 12, 8, 0, "SERCOS Interface Standard", "sercos", 171 12, 9, 0, "CANbus", "canbus", 172 12, 0x80, 0, "Serial Bus Controller", "unknown", 173 174 13, 0, 0, "IRDA Wireless controller", "irda", 175 13, 1, 0, "Consumer IR Wireless controller", "ir", 176 13, 1, 0x10, "UWB Radio controller", "ir-uwb", 177 13, 0x10, 0, "RF Wireless controller", "rf", 178 13, 0x11, 0, "Bluetooth Wireless controller", "btooth", 179 13, 0x12, 0, "Broadband Wireless controller", "brdband", 180 13, 0x20, 0, "802.11a Wireless controller", "802.11a", 181 13, 0x21, 0, "802.11b Wireless controller", "802.11b", 182 13, 0x80, 0, "Wireless controller", "unknown", 183 184 14, 0, 0, "I20 controller", "i2o", 185 14, 0, 1, "I20 Arch Specification 1.0", "i2o", 186 187 15, 1, 0, "TV Satellite controller", "tv", 188 15, 2, 0, "Audio Satellite controller", "audio", 189 15, 3, 0, "Voice Satellite controller", "voice", 190 15, 4, 0, "Data Satellite controller", "data", 191 15, 0x80, 0, "Satellite Comm controller", "unknown", 192 193 16, 0, 0, "Network and computing en/decryption", "netcryp", 194 16, 1, 0, "Entertainment en/decryption", "entcryp", 195 16, 0x80, 0, "En/decryption controller", "unknown", 196 197 17, 0, 0, "DPIO modules", "dpio", 198 17, 1, 0, "Performance counters", "perfcnt", 199 17, 0x10, 0, "Comm Synch time and freq test/measurement", "cstftm", 200 17, 0x20, 0, "Management card", "mgmtcrd", 201 17, 0x80, 0, "DSP/DAP controllers", "unknown" 202 }; 203 204 int class_pci_items = sizeof (class_pci) / sizeof (class_pci[0]); 205