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