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