158Sanish /* 258Sanish * CDDL HEADER START 358Sanish * 458Sanish * The contents of this file are subject to the terms of the 5*3070Sanish * Common Development and Distribution License (the "License"). 6*3070Sanish * You may not use this file except in compliance with the License. 758Sanish * 858Sanish * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 958Sanish * or http://www.opensolaris.org/os/licensing. 1058Sanish * See the License for the specific language governing permissions 1158Sanish * and limitations under the License. 1258Sanish * 1358Sanish * When distributing Covered Code, include this CDDL HEADER in each 1458Sanish * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 1558Sanish * If applicable, add the following below this CDDL HEADER, with the 1658Sanish * fields enclosed by brackets "[]" replaced with your own identifying 1758Sanish * information: Portions Copyright [yyyy] [name of copyright owner] 1858Sanish * 1958Sanish * CDDL HEADER END 2058Sanish */ 2158Sanish 2258Sanish /* 23*3070Sanish * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 2458Sanish * Use is subject to license terms. 2558Sanish */ 2658Sanish 2758Sanish #pragma ident "%Z%%M% %I% %E% SMI" 2858Sanish 2958Sanish #include <sys/types.h> 3058Sanish #include <sys/stat.h> 3158Sanish #include "pci_strings.h" 3258Sanish 3358Sanish const pci_class_strings_t class_pci[] = { 3458Sanish 0, 0, 0, "Unspecified class", "unknown", 3558Sanish 0, 1, 0, "VGA compatible controller", "unknown", 3658Sanish 3758Sanish 1, 0, 0, "SCSI bus controller", "scsi", 3858Sanish 1, 1, 0x80, "IDE controller", /* Special case */ "ide", 3958Sanish 1, 2, 0, "Floppy controller", "flpydis", 4058Sanish 1, 3, 0, "IPI bus controller", "ipi", 4158Sanish 1, 4, 0, "RAID controller", "raid", 4258Sanish 1, 5, 0x20, "ATA controller with single DMA", "ata", 4358Sanish 1, 5, 0x30, "ATA controller with chained DMA", "ata", 4458Sanish 1, 6, 0, "Serial ATA Direct Port Access (DPA)", "sata", 45*3070Sanish 1, 6, 1, "SATA AHCI 1.0 Interface", "sata", 46*3070Sanish 1, 6, 2, "Serial Storage Bus Interface", "sata", 47*3070Sanish 1, 7, 0, "Serial Attached SCSI Controller", "sas", 48*3070Sanish 1, 7, 1, "Serial Storage Bus Interface", "sas", 4958Sanish 1, 0x80, 0, "Mass storage controller", "unknown", 5058Sanish 5158Sanish 2, 0, 0, "Ethernet controller", "etherne", 5258Sanish 2, 1, 0, "Token ring controller", "tokenrg", 5358Sanish 2, 2, 0, "FDDI controller", "fddi", 5458Sanish 2, 3, 0, "ATM controller", "atm", 5558Sanish 2, 4, 0, "ISDN controller", "isdn", 5658Sanish 2, 5, 0, "WorldFip controller", "unknown", 5758Sanish 2, 6, 0, "PICMG 2.14 Multi computing controller", "mcd", 5858Sanish 2, 0x80, 0, "Network controller", "unknown", 5958Sanish 6058Sanish 3, 0, 0, "VGA compatible controller", "vga", 6158Sanish 3, 0, 1, "8514-compatible display controller", "vgs8514", 6258Sanish 3, 1, 0, "XGA video controller", "xga", 6358Sanish 3, 2, 0, "3D controller", "3d", 6458Sanish 3, 0x80, 0, "Video controller", "unknown", 6558Sanish 6658Sanish 4, 0, 0, "Video device", "video", 6758Sanish 4, 1, 0, "Audio device", "audio", 6858Sanish 4, 2, 0, "Computer Telephony device", "teleph", 69*3070Sanish 4, 3, 0, "Mixed Mode device", "mixed", 7058Sanish 4, 0x80, 0, "Multimedia device", "unknown", 7158Sanish 7258Sanish 5, 0, 0, "Ram", "ram", 7358Sanish 5, 1, 0, "Flash memory", "flash", 7458Sanish 5, 0x80, 0, "Memory controller", "unknown", 7558Sanish 7658Sanish 6, 0, 0, "Host bridge", "hostpci", 7758Sanish 6, 1, 0, "ISA bridge", "pci-isa", 7858Sanish 6, 2, 0, "EISA bridge", "pcieisa", 7958Sanish 6, 3, 0, "MCA bridge", "pci-mca", 8058Sanish 6, 4, 0, "PCI-PCI bridge", "pci-pci", 8158Sanish 6, 4, 1, "Subtractive Decode PCI-PCI bridge", "unknown", 8258Sanish 6, 5, 0, "PCMCIA bridge", "pcipcmc", 8358Sanish 6, 6, 0, "NuBus bridge", "pcinubu", 8458Sanish 6, 7, 0, "CardBus bridge", "pcicard", 8558Sanish 6, 8, 0, "RACE-way bridge transport mode", "pcirace", 8658Sanish 6, 8, 1, "RACE-way bridge endpoint mode", "pcirace", 8758Sanish 6, 9, 0x40, "Semi-transparent PCI-PCI primary bridge", "stpci", 8858Sanish 6, 9, 0x80, "Semi-transparent PCI-PCI secondary bridge", "stpci", 8958Sanish 6, 0xA, 0, "Infiniband-PCI bridge", "ib-pci", 90*3070Sanish 6, 0xB, 0, "AS Custom Interface bridge", "as-pci", 91*3070Sanish 6, 0xB, 1, "ASI-SIG Defined Portal Interface", "as-pci", 9258Sanish 6, 0x80, 0, "Bridge device", "unknown", 9358Sanish 9458Sanish 7, 0, 0, "Serial controller", "serial", 9558Sanish 7, 0, 1, "16450-compatible serial controller", "paralle", 9658Sanish 7, 0, 2, "16550-compatible serial controller", "paralle", 9758Sanish 7, 0, 3, "16650-compatible serial controller", "paralle", 9858Sanish 7, 0, 4, "16750-compatible serial controller", "paralle", 9958Sanish 7, 0, 5, "16850-compatible serial controller", "paralle", 10058Sanish 7, 0, 6, "16950-compatible serial controller", "paralle", 10158Sanish 7, 1, 0, "Parallel port", "paralle", 10258Sanish 7, 1, 1, "Bidirectional parallel port", "paralle", 10358Sanish 7, 1, 2, "ECP 1.X parallel port", "paralle", 10458Sanish 7, 1, 3, "IEEE 1284 parallel port", "paralle", 10558Sanish 7, 1, 0xFE, "IEEE 1284 target device", "1284tar", 10658Sanish 7, 2, 0, "Multiport serial controller", "multise", 10758Sanish 7, 3, 0, "Modem controller", "mdmctrl", 10858Sanish 7, 3, 1, "Hayes 16450-compatible modem", "modem", 10958Sanish 7, 3, 2, "Hayes 16550-compatible modem", "modem", 11058Sanish 7, 3, 3, "Hayes 16650-compatible modem", "modem", 11158Sanish 7, 3, 4, "Hayes 16750-compatible modem", "modem", 11258Sanish 7, 4, 0, "GPIB controller", "gpibctl", 11358Sanish 7, 5, 0, "Smartcard controller", "smctrlr", 11458Sanish 7, 0x80, 0, "Communication device", "commdev", 11558Sanish 11658Sanish 8, 0, 0, "8259 PIC", "pic", 11758Sanish 8, 0, 1, "ISA PIC", "pic", 11858Sanish 8, 0, 2, "EISA PIC", "pic", 11958Sanish 8, 0, 0x10, "I/O APIC", "pic", 12058Sanish 8, 0, 0x20, "I/O(x) APIC", "iopic", 12158Sanish 8, 1, 0, "8237 DMA controller", "dma", 12258Sanish 8, 1, 1, "ISA DMA controller", "dma", 12358Sanish 8, 1, 2, "EISA DMA controller", "dma", 12458Sanish 8, 2, 0, "8254 system timer", "timer", 12558Sanish 8, 2, 1, "ISA system timer", "timer", 12658Sanish 8, 2, 2, "EISA system timers", "timer", 127*3070Sanish 8, 2, 3, "High Performance Event timer", "timer", 12858Sanish 8, 3, 0, "Real time clock", "rtc", 12958Sanish 8, 3, 1, "ISA real time clock", "rtc", 13058Sanish 8, 4, 0, "PCI Hot-Plug controller", "pcihp", 131*3070Sanish 8, 5, 0, "SD Host controller", "sd-hc", 132*3070Sanish 8, 6, 0, "IOMMU controller", "iommu", 13358Sanish 8, 0x80, 0, "System peripheral", "unknown", 13458Sanish 13558Sanish 9, 0, 0, "Keyboard controller", "keyboar", 13658Sanish 9, 1, 0, "Digitizer (pen)", "tablet", 13758Sanish 9, 2, 0, "Mouse controller", "mouse", 13858Sanish 9, 3, 0, "Scanner controller", "scanner", 13958Sanish 9, 4, 0, "Gameport controller", "gamepor", 140*3070Sanish 9, 4, 0x10, "Gameport Legacy controller", "gamepor", 14158Sanish 9, 0x80, 0, "Input controller", "unknown", 14258Sanish 14358Sanish 10, 0, 0, "Generic Docking station", "docking", 14458Sanish 10, 0x80, 0, "Docking station", "unknown", 14558Sanish 14658Sanish 11, 0, 0, "386", "386", 14758Sanish 11, 1, 0, "486", "486", 14858Sanish 11, 2, 0, "Pentium", "pentium", 14958Sanish 11, 0x10, 0, "Alpha", "alpha", 15058Sanish 11, 0x20, 0, "Power-PC", "powerpc", 15158Sanish 11, 0x30, 0, "MIPS", "mips", 15258Sanish 11, 0x40, 0, "Co-processor", "coproc", 153*3070Sanish 11, 0x80, 0, "Processor", "unknown", 15458Sanish 15558Sanish 12, 0, 0, "FireWire (IEEE 1394)", "1394", 15658Sanish 12, 0, 0x10, "FireWire (IEEE 1394) OpenHCI compliant", "1394", 15758Sanish 12, 1, 0, "ACCESS.bus", "access", 15858Sanish 12, 2, 0, "SSA", "ssa", 15958Sanish 12, 3, 0, "Universal Serial Bus UHCI compliant", "usb", 16058Sanish 12, 3, 0x10, "Universal Serial Bus OHCI compliant", "usb", 16158Sanish 12, 3, 0x20, "Universal Serial Bus EHCI compliant", "usb", 16258Sanish 12, 3, 0x80, "Universal Serial Bus generic HCD", "usb", 16358Sanish 12, 3, 0xFE, "Universal Serial Bus device", "usb", 16458Sanish 12, 4, 0, "Fibre Channel", "fibre", 16558Sanish 12, 5, 0, "SMBus (System Management Bus)", "smbus", 16658Sanish 12, 6, 0, "InfiniBand", "ib", 16758Sanish 12, 7, 0, "IPMI SMIC Interface", "ipmi", 16858Sanish 12, 7, 1, "IPMI Keyboard Controller Style Interface", "ipmi", 16958Sanish 12, 7, 2, "IPMI Block Transfer Interface", "ipmi", 17058Sanish 12, 8, 0, "SERCOS Interface Standard", "sercos", 17158Sanish 12, 9, 0, "CANbus", "canbus", 172*3070Sanish 12, 0x80, 0, "Serial Bus Controller", "unknown", 17358Sanish 17458Sanish 13, 0, 0, "IRDA Wireless controller", "irda", 17558Sanish 13, 1, 0, "Consumer IR Wireless controller", "ir", 176*3070Sanish 13, 1, 0x10, "UWB Radio controller", "ir-uwb", 17758Sanish 13, 0x10, 0, "RF Wireless controller", "rf", 17858Sanish 13, 0x11, 0, "Bluetooth Wireless controller", "btooth", 17958Sanish 13, 0x12, 0, "Broadband Wireless controller", "brdband", 18058Sanish 13, 0x20, 0, "802.11a Wireless controller", "802.11a", 18158Sanish 13, 0x21, 0, "802.11b Wireless controller", "802.11b", 18258Sanish 13, 0x80, 0, "Wireless controller", "unknown", 18358Sanish 18458Sanish 14, 0, 0, "I20 controller", "i2o", 185*3070Sanish 14, 0, 1, "I20 Arch Specification 1.0", "i2o", 18658Sanish 18758Sanish 15, 1, 0, "TV Satellite controller", "tv", 18858Sanish 15, 2, 0, "Audio Satellite controller", "audio", 18958Sanish 15, 3, 0, "Voice Satellite controller", "voice", 19058Sanish 15, 4, 0, "Data Satellite controller", "data", 191*3070Sanish 15, 0x80, 0, "Satellite Comm controller", "unknown", 19258Sanish 19358Sanish 16, 0, 0, "Network and computing en/decryption", "netcryp", 19458Sanish 16, 1, 0, "Entertainment en/decryption", "entcryp", 19558Sanish 16, 0x80, 0, "En/decryption controller", "unknown", 19658Sanish 19758Sanish 17, 0, 0, "DPIO modules", "dpio", 19858Sanish 17, 1, 0, "Performance counters", "perfcnt", 19958Sanish 17, 0x10, 0, "Comm Synch time and freq test/measurement", "cstftm", 20058Sanish 17, 0x20, 0, "Management card", "mgmtcrd", 20158Sanish 17, 0x80, 0, "DSP/DAP controllers", "unknown" 20258Sanish }; 20358Sanish 20458Sanish int class_pci_items = sizeof (class_pci) / sizeof (class_pci[0]); 205