xref: /titanic_52/usr/src/common/pci/pci_strings.c (revision 13c8743e4d3cc6d9653687512c0d48d2b653513d)
109f67678Sanish /*
209f67678Sanish  * CDDL HEADER START
309f67678Sanish  *
409f67678Sanish  * The contents of this file are subject to the terms of the
5337fc9e2Sanish  * Common Development and Distribution License (the "License").
6337fc9e2Sanish  * 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 /*
23337fc9e2Sanish  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
2409f67678Sanish  * Use is subject to license terms.
2509f67678Sanish  */
26*13c8743eSMarcel Telka /*
27*13c8743eSMarcel Telka  * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
28*13c8743eSMarcel Telka  */
2909f67678Sanish 
3009f67678Sanish #include <sys/types.h>
3109f67678Sanish #include <sys/stat.h>
3209f67678Sanish #include "pci_strings.h"
3309f67678Sanish 
3409f67678Sanish const pci_class_strings_t class_pci[] = {
3509f67678Sanish 	0, 0, 0,	"Unspecified class",			"unknown",
3609f67678Sanish 	0, 1, 0,	"VGA compatible controller",		"unknown",
3709f67678Sanish 
3809f67678Sanish 	1, 0, 0,	"SCSI bus controller",			"scsi",
3909f67678Sanish 	1, 1, 0x80,	"IDE controller", /* Special case */	"ide",
4009f67678Sanish 	1, 2, 0,	"Floppy controller",			"flpydis",
4109f67678Sanish 	1, 3, 0,	"IPI bus controller",			"ipi",
4209f67678Sanish 	1, 4, 0,	"RAID controller",			"raid",
4309f67678Sanish 	1, 5, 0x20,	"ATA controller with single DMA",	"ata",
4409f67678Sanish 	1, 5, 0x30,	"ATA controller with chained DMA",	"ata",
4509f67678Sanish 	1, 6, 0,	"Serial ATA Direct Port Access (DPA)",	"sata",
46*13c8743eSMarcel Telka 	1, 6, 1,	"SATA AHCI Interface",			"sata",
47337fc9e2Sanish 	1, 6, 2,	"Serial Storage Bus Interface",		"sata",
48337fc9e2Sanish 	1, 7, 0,	"Serial Attached SCSI Controller",	"sas",
49337fc9e2Sanish 	1, 7, 1,	"Serial Storage Bus Interface",		"sas",
5009f67678Sanish 	1, 0x80, 0,	"Mass storage controller",		"unknown",
5109f67678Sanish 
5209f67678Sanish 	2, 0, 0,	"Ethernet controller",			"etherne",
5309f67678Sanish 	2, 1, 0,	"Token ring controller",		"tokenrg",
5409f67678Sanish 	2, 2, 0,	"FDDI controller",			"fddi",
5509f67678Sanish 	2, 3, 0,	"ATM controller",			"atm",
5609f67678Sanish 	2, 4, 0,	"ISDN controller",			"isdn",
5709f67678Sanish 	2, 5, 0,	"WorldFip controller",			"unknown",
5809f67678Sanish 	2, 6, 0,	"PICMG 2.14 Multi computing controller", "mcd",
5909f67678Sanish 	2, 0x80, 0,	"Network controller",			"unknown",
6009f67678Sanish 
6109f67678Sanish 	3, 0, 0,	"VGA compatible controller",		"vga",
6209f67678Sanish 	3, 0, 1,	"8514-compatible display controller",	"vgs8514",
6309f67678Sanish 	3, 1, 0,	"XGA video controller",			"xga",
6409f67678Sanish 	3, 2, 0,	"3D controller",			"3d",
6509f67678Sanish 	3, 0x80, 0,	"Video controller",			"unknown",
6609f67678Sanish 
6709f67678Sanish 	4, 0, 0,	"Video device",				"video",
6809f67678Sanish 	4, 1, 0,	"Audio device",				"audio",
6909f67678Sanish 	4, 2, 0,	"Computer Telephony device",		"teleph",
70337fc9e2Sanish 	4, 3, 0,	"Mixed Mode device",			"mixed",
7109f67678Sanish 	4, 0x80, 0,	"Multimedia device",			"unknown",
7209f67678Sanish 
7309f67678Sanish 	5, 0, 0,	"Ram",					"ram",
7409f67678Sanish 	5, 1, 0,	"Flash memory",				"flash",
7509f67678Sanish 	5, 0x80, 0,	"Memory controller",			"unknown",
7609f67678Sanish 
7709f67678Sanish 	6, 0, 0,	"Host bridge",				"hostpci",
7809f67678Sanish 	6, 1, 0,	"ISA bridge",				"pci-isa",
7909f67678Sanish 	6, 2, 0,	"EISA bridge",				"pcieisa",
8009f67678Sanish 	6, 3, 0,	"MCA bridge",				"pci-mca",
8109f67678Sanish 	6, 4, 0,	"PCI-PCI bridge",			"pci-pci",
8209f67678Sanish 	6, 4, 1,	"Subtractive Decode PCI-PCI bridge",	"unknown",
8309f67678Sanish 	6, 5, 0,	"PCMCIA bridge",			"pcipcmc",
8409f67678Sanish 	6, 6, 0,	"NuBus bridge",				"pcinubu",
8509f67678Sanish 	6, 7, 0,	"CardBus bridge",			"pcicard",
8609f67678Sanish 	6, 8, 0,	"RACE-way bridge transport mode",	"pcirace",
8709f67678Sanish 	6, 8, 1,	"RACE-way bridge endpoint mode",	"pcirace",
8809f67678Sanish 	6, 9, 0x40,	"Semi-transparent PCI-PCI primary bridge",   "stpci",
8909f67678Sanish 	6, 9, 0x80,	"Semi-transparent PCI-PCI secondary bridge", "stpci",
9009f67678Sanish 	6, 0xA, 0,	"Infiniband-PCI bridge",		"ib-pci",
91337fc9e2Sanish 	6, 0xB, 0,	"AS Custom Interface bridge",		"as-pci",
92337fc9e2Sanish 	6, 0xB, 1,	"ASI-SIG Defined Portal Interface",	"as-pci",
9309f67678Sanish 	6, 0x80, 0,	"Bridge device",			"unknown",
9409f67678Sanish 
9509f67678Sanish 	7, 0, 0,	"Serial controller",			"serial",
9609f67678Sanish 	7, 0, 1,	"16450-compatible serial controller",	"paralle",
9709f67678Sanish 	7, 0, 2,	"16550-compatible serial controller",	"paralle",
9809f67678Sanish 	7, 0, 3,	"16650-compatible serial controller",	"paralle",
9909f67678Sanish 	7, 0, 4,	"16750-compatible serial controller",	"paralle",
10009f67678Sanish 	7, 0, 5,	"16850-compatible serial controller",	"paralle",
10109f67678Sanish 	7, 0, 6,	"16950-compatible serial controller",	"paralle",
10209f67678Sanish 	7, 1, 0,	"Parallel port",			"paralle",
10309f67678Sanish 	7, 1, 1,	"Bidirectional parallel port",		"paralle",
10409f67678Sanish 	7, 1, 2,	"ECP 1.X parallel port",		"paralle",
10509f67678Sanish 	7, 1, 3,	"IEEE 1284 parallel port",		"paralle",
10609f67678Sanish 	7, 1, 0xFE,	"IEEE 1284 target device",		"1284tar",
10709f67678Sanish 	7, 2, 0,	"Multiport serial controller",		"multise",
10809f67678Sanish 	7, 3, 0,	"Modem controller",			"mdmctrl",
10909f67678Sanish 	7, 3, 1,	"Hayes 16450-compatible modem",		"modem",
11009f67678Sanish 	7, 3, 2,	"Hayes 16550-compatible modem",		"modem",
11109f67678Sanish 	7, 3, 3,	"Hayes 16650-compatible modem",		"modem",
11209f67678Sanish 	7, 3, 4,	"Hayes 16750-compatible modem",		"modem",
11309f67678Sanish 	7, 4, 0,	"GPIB controller",			"gpibctl",
11409f67678Sanish 	7, 5, 0,	"Smartcard controller",			"smctrlr",
11509f67678Sanish 	7, 0x80, 0,	"Communication device",			"commdev",
11609f67678Sanish 
11709f67678Sanish 	8, 0, 0,	"8259 PIC",				"pic",
11809f67678Sanish 	8, 0, 1,	"ISA PIC",				"pic",
11909f67678Sanish 	8, 0, 2,	"EISA PIC",				"pic",
12009f67678Sanish 	8, 0, 0x10,	"I/O APIC",				"pic",
12109f67678Sanish 	8, 0, 0x20,	"I/O(x) APIC",				"iopic",
12209f67678Sanish 	8, 1, 0,	"8237 DMA controller",			"dma",
12309f67678Sanish 	8, 1, 1,	"ISA DMA controller",			"dma",
12409f67678Sanish 	8, 1, 2,	"EISA DMA controller",			"dma",
12509f67678Sanish 	8, 2, 0,	"8254 system timer",			"timer",
12609f67678Sanish 	8, 2, 1,	"ISA system timer",			"timer",
12709f67678Sanish 	8, 2, 2,	"EISA system timers",			"timer",
128337fc9e2Sanish 	8, 2, 3,	"High Performance Event timer",		"timer",
12909f67678Sanish 	8, 3, 0,	"Real time clock",			"rtc",
13009f67678Sanish 	8, 3, 1,	"ISA real time clock",			"rtc",
13109f67678Sanish 	8, 4, 0,	"PCI Hot-Plug controller",		"pcihp",
132337fc9e2Sanish 	8, 5, 0,	"SD Host controller",			"sd-hc",
133337fc9e2Sanish 	8, 6, 0,	"IOMMU controller",			"iommu",
13409f67678Sanish 	8, 0x80, 0,	"System peripheral",			"unknown",
13509f67678Sanish 
13609f67678Sanish 	9, 0, 0,	"Keyboard controller",			"keyboar",
13709f67678Sanish 	9, 1, 0,	"Digitizer (pen)",			"tablet",
13809f67678Sanish 	9, 2, 0,	"Mouse controller",			"mouse",
13909f67678Sanish 	9, 3, 0,	"Scanner controller",			"scanner",
14009f67678Sanish 	9, 4, 0,	"Gameport controller",			"gamepor",
141337fc9e2Sanish 	9, 4, 0x10,	"Gameport Legacy controller",		"gamepor",
14209f67678Sanish 	9, 0x80, 0,	"Input controller",			"unknown",
14309f67678Sanish 
14409f67678Sanish 	10, 0, 0,	"Generic Docking station",		"docking",
14509f67678Sanish 	10, 0x80, 0,	"Docking station",			"unknown",
14609f67678Sanish 
14709f67678Sanish 	11, 0, 0,	"386",					"386",
14809f67678Sanish 	11, 1, 0,	"486",					"486",
14909f67678Sanish 	11, 2, 0,	"Pentium",				"pentium",
15009f67678Sanish 	11, 0x10, 0,	"Alpha",				"alpha",
15109f67678Sanish 	11, 0x20, 0,	"Power-PC",				"powerpc",
15209f67678Sanish 	11, 0x30, 0,	"MIPS",					"mips",
15309f67678Sanish 	11, 0x40, 0,	"Co-processor",				"coproc",
154337fc9e2Sanish 	11, 0x80, 0,	"Processor",				"unknown",
15509f67678Sanish 
15609f67678Sanish 	12, 0, 0,	"FireWire (IEEE 1394)",			"1394",
15709f67678Sanish 	12, 0, 0x10,	"FireWire (IEEE 1394) OpenHCI compliant", "1394",
15809f67678Sanish 	12, 1, 0,	"ACCESS.bus",				"access",
15909f67678Sanish 	12, 2, 0,	"SSA",					"ssa",
16009f67678Sanish 	12, 3, 0,	"Universal Serial Bus UHCI compliant",	"usb",
16109f67678Sanish 	12, 3, 0x10,	"Universal Serial Bus OHCI compliant",	"usb",
16209f67678Sanish 	12, 3, 0x20,	"Universal Serial Bus EHCI compliant",	"usb",
16309f67678Sanish 	12, 3, 0x80,	"Universal Serial Bus generic HCD",	"usb",
16409f67678Sanish 	12, 3, 0xFE,	"Universal Serial Bus device",		"usb",
16509f67678Sanish 	12, 4, 0,	"Fibre Channel",			"fibre",
16609f67678Sanish 	12, 5, 0,	"SMBus (System Management Bus)",	"smbus",
16709f67678Sanish 	12, 6, 0,	"InfiniBand",				"ib",
16809f67678Sanish 	12, 7, 0,	"IPMI SMIC Interface",			"ipmi",
16909f67678Sanish 	12, 7, 1,	"IPMI Keyboard Controller Style Interface", "ipmi",
17009f67678Sanish 	12, 7, 2,	"IPMI Block Transfer Interface",	"ipmi",
17109f67678Sanish 	12, 8, 0,	"SERCOS Interface Standard",		"sercos",
17209f67678Sanish 	12, 9, 0,	"CANbus",				"canbus",
173337fc9e2Sanish 	12, 0x80, 0,	"Serial Bus Controller",		"unknown",
17409f67678Sanish 
17509f67678Sanish 	13, 0, 0,	"IRDA Wireless controller",		"irda",
17609f67678Sanish 	13, 1, 0,	"Consumer IR Wireless controller",	"ir",
177337fc9e2Sanish 	13, 1, 0x10,	"UWB Radio  controller",		"ir-uwb",
17809f67678Sanish 	13, 0x10, 0,	"RF Wireless controller",		"rf",
17909f67678Sanish 	13, 0x11, 0,	"Bluetooth Wireless controller",	"btooth",
18009f67678Sanish 	13, 0x12, 0,	"Broadband Wireless controller",	"brdband",
18109f67678Sanish 	13, 0x20, 0,	"802.11a Wireless controller",		"802.11a",
18209f67678Sanish 	13, 0x21, 0,	"802.11b Wireless controller",		"802.11b",
18309f67678Sanish 	13, 0x80, 0,	"Wireless controller",			"unknown",
18409f67678Sanish 
18509f67678Sanish 	14, 0, 0,	"I20 controller",			"i2o",
186337fc9e2Sanish 	14, 0, 1,	"I20 Arch Specification 1.0",		"i2o",
18709f67678Sanish 
18809f67678Sanish 	15, 1, 0,	"TV Satellite controller",		"tv",
18909f67678Sanish 	15, 2, 0,	"Audio Satellite controller",		"audio",
19009f67678Sanish 	15, 3, 0,	"Voice Satellite controller",		"voice",
19109f67678Sanish 	15, 4, 0,	"Data Satellite controller",		"data",
192337fc9e2Sanish 	15, 0x80, 0,	"Satellite Comm controller",		"unknown",
19309f67678Sanish 
19409f67678Sanish 	16, 0, 0,	"Network and computing en/decryption",	"netcryp",
19509f67678Sanish 	16, 1, 0,	"Entertainment en/decryption",		"entcryp",
19609f67678Sanish 	16, 0x80, 0,	"En/decryption controller",		"unknown",
19709f67678Sanish 
19809f67678Sanish 	17, 0, 0,	"DPIO modules",				"dpio",
19909f67678Sanish 	17, 1, 0,	"Performance counters",			"perfcnt",
20009f67678Sanish 	17, 0x10, 0,	"Comm Synch time and freq test/measurement", "cstftm",
20109f67678Sanish 	17, 0x20, 0,	"Management card",			"mgmtcrd",
20209f67678Sanish 	17, 0x80, 0,	"DSP/DAP controllers",			"unknown"
20309f67678Sanish };
20409f67678Sanish 
20509f67678Sanish int class_pci_items = sizeof (class_pci) / sizeof (class_pci[0]);
206