vfs: check userland buffers before reading them.
[haiku.git] / src / apps / devices / isapnp_devids.txt
blob51ce955fbbee888472a346eeaa219a112e27db2b
1 This document is the ultimate source for Windows Generic Device IDs 
2 and Plug and Play BIOS device type codes.  
4 CONTENTS:
5    Plug and Play Vendor IDs and Device IDs
6    Generic Device IDs 
7    Device Type Codes
9 ======================================================================
10 PLUG AND PLAY VENDOR IDs AND DEVICE IDs
12 All non-BIOS enumerated devices must not use "PNP" in their Vendor and 
13 Device codes. The vendor must register with EISA and have a vendor code
14 assigned (for example, CTL for Creative Labs). The "PNP" vendor code 
15 is reserved for Microsoft and can only be used when defining a device’s
16 CompatibleID after indicating the device’s HardwareID in the Plug and 
17 Play header. 
19 Use of CompatibleIDs is strongly recommended for devices that use 
20 device drivers provided with Microsoft Windows 95, such as a 
21 "Standard PC COM Port" (PNP0500) or 
22 "Sound Blaster 16-compatible Sound Device" (PNPB003).
24 The following example output from ISOLATE.EXE of a Plug and Play 
25 header is provided for your reference:
26         Vendor ID:     XXXFFFF
27         Serial Number: 00000001
28         Checksum (reported): 0x5E
29         PNP Version:   1.0
30         Vendor Ver.:   10
31         Device Description: IDE Port
32         Device ID:  XXX0001
33         Doesn't Support I/O Range Checking
34         Vendor Defined Logical Device Control Registers:  None
35         Compatible Device ID: PNP0600
36         Device Description: IDE
37         Dependent Function 0
38         ...
39         Dependent Function 1
40         ...
41         End of Dependent Functions
43 When the user is installing devices that use this method, 
44 a dialog box appears at the beginning of the enumeration sequence 
45 to suggest use of the default driver provided with Windows 95. 
46 Windows 95 also provides the option for using a disk from the 
47 manufacturer, in case the user wants to choose a manufacturer-supplied 
48 driver.
50 For multifunction adapters, you should supply an INF file that chooses 
51 the appropriate drivers (including default drivers) for all the 
52 adapter’s devices. This prevents additional dialog boxes from again 
53 requesting the default driver or a manufacture’s disk for the rest of 
54 the devices on the adapter. When an INF file is used in this manner 
55 for default driver selection, it must link the HardwareID (XXX0000) 
56 to the appropriate compatible device driver from the Windows 95 
57 distribution compact disc or installation disks. 
58 If this is not done, Windows 95 will continue to query the user for 
59 either the default driver or a new driver, thus defeating the purpose 
60 of using the INF file in this way.
62 ======================================================================
64 WINDOWS GENERIC DEVICE IDs
66 ----------------------------------------------------------------------
67 Many devices have no standard EISA ID, such as the interrupt controller
68 or keyboard controller. Also, a set of compatible devices, such as VGA 
69 and Super VGA, are not actually devices, but define a compatibility 
70 hardware subset.  Yet another set of IDs needs to be used to identify 
71 buses. 
73 Microsoft has reserved an EISA prefix of "PNP" to identify various 
74 devices that do not have an existing EISA ID, as well as defining 
75 compatibility devices. The IDs are defined in the following tables.
77 DEVICE ID RANGES
79 ID range        Category
80 --------        -------------
81 PNP0xxx         System devices
82 PNP8xxx         Network adapters 
83 PNPAxxx         SCSI, proprietary CD adapters 
84 PNPBxxx         Sound, video capture, multimedia
85 PNPCxxx - Dxxx  Modems
87 The following device ID is provided only for compatibility 
88 with earlier device ID lists:
90 Device ID       Description
91 --------        -------------
92 PNP0802         Microsoft Sound System-compatible device
93                 (obsolete; use PNPB0xx instead)
95 ---------------------------------------------------------------------------
96 Device ID       Description
97 --------        -------------
98 ***** System Devices - PNP0xxx **************************
99 --Interrupt Controllers--
100 PNP0000         AT Interrupt Controller
101 PNP0001         EISA Interrupt Controller
102 PNP0002         MCA Interrupt Controller
103 PNP0003         APIC
104 PNP0004         Cyrix SLiC MP interrupt controller
106 --Timers--
107 PNP0100         AT Timer
108 PNP0101         EISA Timer
109 PNP0102         MCA Timer
111 --DMA--
112 PNP0200         AT DMA Controller
113 PNP0201         EISA DMA Controller
114 PNP0202         MCA DMA Controller
116 --Keyboards--
117 PNP0300         IBM PC/XT keyboard controller (83-key)
118 PNP0301         IBM PC/AT keyboard controller (86-key)
119 PNP0302         IBM PC/XT keyboard controller (84-key)
120 PNP0303         IBM Enhanced (101/102-key, PS/2 mouse support)
121 PNP0304         Olivetti Keyboard (83-key)
122 PNP0305         Olivetti Keyboard (102-key)
123 PNP0306         Olivetti Keyboard (86-key)
124 PNP0307         Microsoft Windows(R) Keyboard
125 PNP0308         General Input Device Emulation Interface (GIDEI) legacy
126 PNP0309         Olivetti Keyboard (A101/102 key)
127 PNP030A         AT&T 302 keyboard
128 PNP030B         Reserved by Microsoft
129 PNP0320         Japanese 101-key keyboard
130 PNP0321         Japanese AX keyboard
131 PNP0322         Japanese 106-key keyboard A01
132 PNP0323         Japanese 106-key keyboard 002/003
133 PNP0324         Japanese 106-key keyboard 001
134 PNP0325         Japanese Toshiba Desktop keyboard
135 PNP0326         Japanese Toshiba Laptop keyboard
136 PNP0327         Japanese Toshiba Notebook keyboard
137 PNP0340         Korean 84-key keyboard
138 PNP0341         Korean 86-key keyboard
139 PNP0342         Korean Enhanced keyboard
140 PNP0343         Korean Enhanced keyboard 101b
141 PNP0343         Korean Enhanced keyboard 101c
142 PNP0344         Korean Enhanced keyboard 103
144 --Parallel Devices--
145 PNP0400         Standard LPT printer port
146 PNP0401         ECP printer port
148 --Serial Devices--
149 PNP0500         Standard PC COM port
150 PNP0501         16550A-compatible COM port
151 PNP0510         Generic IRDA-compatible device
153 --Disk Controllers--
154 PNP0600         Generic ESDI/IDE/ATA compatible hard disk controller
155 PNP0601         Plus Hardcard II
156 PNP0602         Plus Hardcard IIXL/EZ
157 PNP0603         Generic IDE supporting Microsoft Device Bay Specification
158 PNP0700         PC standard floppy disk controller
159 PNP0701         Standard floppy controller supporting MS Device Bay Spec
161 --Compatibility with early device ID list--
162 PNP0802         Microsoft Sound System compatible device (obsolete, use
163                 PNPB0xx instead)
164 --Display Adapters--
165 PNP0900         VGA Compatible
166 PNP0901         Video Seven VRAM/VRAM II/1024i 
167 PNP0902         8514/A Compatible
168 PNP0903         Trident VGA
169 PNP0904         Cirrus Logic Laptop VGA
170 PNP0905         Cirrus Logic VGA
171 PNP0906         Tseng ET4000
172 PNP0907         Western Digital VGA
173 PNP0908         Western Digital Laptop VGA
174 PNP0909         S3 Inc. 911/924
175 PNP090A         ATI Ultra Pro/Plus (Mach 32)
176 PNP090B         ATI Ultra (Mach 8)
177 PNP090C         XGA Compatible
178 PNP090D         ATI VGA Wonder
179 PNP090E         Weitek P9000 Graphics Adapter
180 PNP090F         Oak Technology VGA
181 PNP0910         Compaq QVision
182 PNP0911         XGA/2
183 PNP0912         Tseng Labs W32/W32i/W32p
184 PNP0913         S3 Inc. 801/928/964
185 PNP0914         Cirrus Logic 5429/5434 (memory mapped)
186 PNP0915         Compaq Advanced VGA (AVGA)
187 PNP0916         ATI Ultra Pro Turbo (Mach64)
188 PNP0917         Reserved by Microsoft
189 PNP0918         Matrox MGA
190 PNP0919         Compaq QVision 2000
191 PNP091A         Tseng W128
192 PNP0930         Chips & Technologies Super VGA
193 PNP0931         Chips & Technologies Accelerator
194 PNP0940         NCR 77c22e Super VGA
195 PNP0941         NCR 77c32blt
196 PNP09FF         Plug and Play Monitors (VESA DDC)
198 --Peripheral Buses--
199 PNP0A00         ISA Bus
200 PNP0A01         EISA Bus
201 PNP0A02         MCA Bus
202 PNP0A03         PCI Bus
203 PNP0A04         VESA/VL Bus
204 PNP0A05         ACPI Bus
206 -- Real Time Clock, BIOS, System board devices--
207 PNP0800         AT-style speaker sound
208 PNP0B00         AT Real-Time Clock
209 PNP0C00         Plug and Play BIOS (only created by the root enumerator)
210 PNP0C01         System Board
211 PNP0C02         General ID for reserving resources required by Plug and Play
212                 motherboard registers. (Not specific to a particular device.)
213 PNP0C03         Plug and Play BIOS Event Notification Interrupt
214 PNP0C04         Math Coprocessor
215 PNP0C05         APM BIOS (Version independent)
216 PNP0C06         Reserved for identification of early Plug and Play 
217                 BIOS implementation.
218 PNP0C07         Reserved for identification of early Plug and Play 
219                 BIOS implementation.
221 --PCMCIA Controller Chipsets--
222 PNP0E00         Intel 82365-Compatible PCMCIA Controller
223 PNP0E01         Cirrus Logic CL-PD6720 PCMCIA Controller
224 PNP0E02         VLSI VL82C146 PCMCIA Controller
225 PNP0E03         Intel 82365-compatible CardBus controller
227 --Mice--
228 PNP0F00         Microsoft Bus Mouse
229 PNP0F01         Microsoft Serial Mouse
230 PNP0F02         Microsoft InPort Mouse
231 PNP0F03         Microsoft PS/2-style Mouse
232 PNP0F04         Mouse Systems Mouse
233 PNP0F05         Mouse Systems 3-Button Mouse (COM2)
234 PNP0F06         Genius Mouse (COM1)
235 PNP0F07         Genius Mouse (COM2)
236 PNP0F08         Logitech Serial Mouse
237 PNP0F09         Microsoft BallPoint Serial Mouse
238 PNP0F0A         Microsoft Plug and Play Mouse
239 PNP0F0B         Microsoft Plug and Play BallPoint Mouse
240 PNP0F0C         Microsoft-compatible Serial Mouse
241 PNP0F0D         Microsoft-compatible InPort-compatible Mouse
242 PNP0F0E         Microsoft-compatible PS/2-style Mouse
243 PNP0F0F         Microsoft-compatible Serial BallPoint-compatible Mouse
244 PNP0F10         Texas Instruments QuickPort Mouse
245 PNP0F11         Microsoft-compatible Bus Mouse
246 PNP0F12         Logitech PS/2-style Mouse
247 PNP0F13         PS/2 Port for PS/2-style Mice
248 PNP0F14         Microsoft Kids Mouse
249 PNP0F15         Logitech bus mouse
250 PNP0F16         Logitech SWIFT device
251 PNP0F17         Logitech-compatible serial mouse
252 PNP0F18         Logitech-compatible bus mouse
253 PNP0F19         Logitech-compatible PS/2-style Mouse
254 PNP0F1A         Logitech-compatible SWIFT Device
255 PNP0F1B         HP Omnibook Mouse
256 PNP0F1C         Compaq LTE Trackball PS/2-style Mouse
257 PNP0F1D         Compaq LTE Trackball Serial Mouse
258 PNP0F1E         Microsoft Kids Trackball Mouse
259 PNP0F1F         Reserved by Microsoft Input Device Group
260 PNP0F20         Reserved by Microsoft Input Device Group
261 PNP0F21         Reserved by Microsoft Input Device Group
262 PNP0F22         Reserved by Microsoft Input Device Group
263 PNP0F23         Reserved by Microsoft Input Device Group
264 PNP0FFF         Reserved by Microsoft Systems
266 ***** Network Adapters - PNP8xxx ***********************
267 PNP8001         Novell/Anthem NE3200
268 PNP8004         Compaq NE3200
269 PNP8006         Intel EtherExpress/32
270 PNP8008         HP EtherTwist EISA LAN Adapter/32 (HP27248A)
271 PNP8065         Ungermann-Bass NIUps or NIUps/EOTP
272 PNP8072         DEC (DE211) EtherWorks MC/TP
273 PNP8073         DEC (DE212) EtherWorks MC/TP_BNC
274 PNP8078         DCA 10 Mb MCA
275 PNP8074         HP MC LAN Adapter/16 TP (PC27246)
276 PNP80c9         IBM Token Ring
277 PNP80ca         IBM Token Ring II
278 PNP80cb         IBM Token Ring II/Short
279 PNP80cc         IBM Token Ring 4/16Mbs
280 PNP80d3         Novell/Anthem NE1000
281 PNP80d4         Novell/Anthem NE2000
282 PNP80d5         NE1000 Compatible
283 PNP80d6         NE2000 Compatible
284 PNP80d7         Novell/Anthem NE1500T
285 PNP80d8         Novell/Anthem NE2100
286 PNP80dd         SMC ARCNETPC
287 PNP80de         SMC ARCNET PC100, PC200
288 PNP80df         SMC ARCNET PC110, PC210, PC250
289 PNP80e0         SMC ARCNET PC130/E
290 PNP80e1         SMC ARCNET PC120, PC220, PC260
291 PNP80e2         SMC ARCNET PC270/E
292 PNP80e5         SMC ARCNET PC600W, PC650W
293 PNP80e7         DEC DEPCA
294 PNP80e8         DEC (DE100) EtherWorks LC
295 PNP80e9         DEC (DE200) EtherWorks Turbo
296 PNP80ea         DEC (DE101) EtherWorks LC/TP
297 PNP80eb         DEC (DE201) EtherWorks Turbo/TP
298 PNP80ec         DEC (DE202) EtherWorks Turbo/TP_BNC
299 PNP80ed         DEC (DE102) EtherWorks LC/TP_BNC
300 PNP80ee         DEC EE101 (Built-In)
301 PNP80ef         DECpc 433 WS (Built-In)
302 PNP80f1         3Com EtherLink Plus
303 PNP80f3         3Com EtherLink II or IITP (8 or 16-bit)
304 PNP80f4         3Com TokenLink
305 PNP80f6         3Com EtherLink 16
306 PNP80f7         3Com EtherLink III
307 PNP80f8         3Com Generic Etherlink Plug and Play Device
308 PNP80fb         Thomas Conrad TC6045
309 PNP80fc         Thomas Conrad TC6042
310 PNP80fd         Thomas Conrad TC6142
311 PNP80fe         Thomas Conrad TC6145
312 PNP80ff         Thomas Conrad TC6242
313 PNP8100         Thomas Conrad TC6245
314 PNP8105         DCA 10 MB
315 PNP8106         DCA 10 MB Fiber Optic
316 PNP8107         DCA 10 MB Twisted Pair
317 PNP8113         Racal NI6510
318 PNP811C         Ungermann-Bass NIUpc
319 PNP8120         Ungermann-Bass NIUpc/EOTP
320 PNP8123         SMC StarCard PLUS (WD/8003S)
321 PNP8124         SMC StarCard PLUS With On Board Hub (WD/8003SH)
322 PNP8125         SMC EtherCard PLUS (WD/8003E)
323 PNP8126         SMC EtherCard PLUS With Boot ROM Socket (WD/8003EBT)
324 PNP8127         SMC EtherCard PLUS With Boot ROM Socket (WD/8003EB)
325 PNP8128         SMC EtherCard PLUS TP (WD/8003WT)
326 PNP812a         SMC EtherCard PLUS 16 With Boot ROM Socket (WD/8013EBT)
327 PNP812d         Intel EtherExpress 16 or 16TP
328 PNP812f         Intel TokenExpress 16/4
329 PNP8130         Intel TokenExpress MCA 16/4
330 PNP8132         Intel EtherExpress 16 (MCA)
331 PNP8137         Artisoft AE-1
332 PNP8138         Artisoft AE-2 or AE-3
333 PNP8141         Amplicard AC 210/XT
334 PNP8142         Amplicard AC 210/AT
335 PNP814b         Everex SpeedLink /PC16 (EV2027)
336 PNP8155         HP PC LAN Adapter/8 TP (HP27245)
337 PNP8156         HP PC LAN Adapter/16 TP (HP27247A)
338 PNP8157         HP PC LAN Adapter/8 TL (HP27250)
339 PNP8158         HP PC LAN Adapter/16 TP Plus (HP27247B)
340 PNP8159         HP PC LAN Adapter/16 TL Plus (HP27252)
341 PNP815f         National Semiconductor Ethernode *16AT
342 PNP8160         National Semiconductor AT/LANTIC EtherNODE 16-AT3
343 PNP816a         NCR Token-Ring 4 Mbs ISA
344 PNP816d         NCR Token-Ring 16/4 Mbs ISA
345 PNP8191         Olicom 16/4 Token-Ring Adapter
346 PNP81c3         SMC EtherCard PLUS Elite (WD/8003EP)
347 PNP81c4         SMC EtherCard PLUS 10T (WD/8003W)
348 PNP81c5         SMC EtherCard PLUS Elite 16 (WD/8013EP)
349 PNP81c6         SMC EtherCard PLUS Elite 16T (WD/8013W)
350 PNP81c7         SMC EtherCard PLUS Elite 16 Combo (WD/8013EW or 8013EWC)
351 PNP81c8         SMC EtherElite Ultra 16
352 PNP81e4         Pure Data PDI9025-32 (Token Ring)
353 PNP81e6         Pure Data PDI508+ (ArcNet)
354 PNP81e7         Pure Data PDI516+ (ArcNet)
355 PNP81eb         Proteon Token Ring (P1390)
356 PNP81ec         Proteon Token Ring (P1392)
357 PNP81ed         Proteon ISA Token Ring (1340)
358 PNP81ee         Proteon ISA Token Ring (1342)
359 PNP81ef         Proteon ISA Token Ring (1346)
360 PNP81f0         Proteon ISA Token Ring (1347)
361 PNP81ff         Cabletron E2000 Series DNI
362 PNP8200         Cabletron E2100 Series DNI
363 PNP8209         Zenith Data Systems Z-Note
364 PNP820a         Zenith Data Systems NE2000-Compatible
365 PNP8213         Xircom Pocket Ethernet II
366 PNP8214         Xircom Pocket Ethernet I
367 PNP821d         RadiSys EXM-10
368 PNP8227         SMC 3000 Series
369 PNP8228         SMC 91C2 controller
370 PNP8231         Advanced Micro Devices AM2100/AM1500T
371 PNP8263         Tulip NCC-16
372 PNP8277         Exos 105
373 PNP828A         Intel '595 based Ethernet
374 PNP828B         TI2000-style Token Ring
375 PNP828C         AMD PCNet Family cards
376 PNP828D         AMD PCNet32 (VL version)
377 PNP8294         IrDA Infrared NDIS driver (Microsoft-supplied)
378 PNP82bd         IBM PCMCIA-NIC
379 PNP82C2         Xircom CE10
380 PNP82C3         Xircom CEM2
381 PNP8321         DEC Ethernet (All Types)
382 PNP8323         SMC EtherCard (All Types except 8013/A)
383 PNP8324         ARCNET Compatible
384 PNP8326         Thomas Conrad (All Arcnet Types)
385 PNP8327         IBM Token Ring (All Types)
386 PNP8385         Remote Network Access Driver
387 PNP8387         RNA Point-to-point Protocol Driver
388 PNP8388         Reserved for Microsoft Networking components
390 ***** SCSI, Proprietary CD Adapters - PNPAxxx **********
391 PNPA002         Future Domain 16-700 compatible controller
392 PNPA003         Panasonic proprietary CD-ROM adapter (SBPro/SB16)
393 PNPA01B         Trantor 128 SCSI Controller
394 PNPA01D         Trantor T160 SCSI Controller
395 PNPA01E         Trantor T338 Parallel SCSI controller
396 PNPA01F         Trantor T348 Parallel SCSI controller
397 PNPA020         Trantor Media Vision SCSI controller
398 PNPA022         Always IN-2000 SCSI controller
399 PNPA02B         Sony proprietary CD-ROM controller
400 PNPA02D         Trantor T13b 8-bit SCSI controller
401 PNPA02F         Trantor T358 Parallel SCSI controller
402 PNPA030         Mitsumi LU-005 Single Speed CD-ROM controller + drive
403 PNPA031         Mitsumi FX-001 Single Speed CD-ROM controller + drive
404 PNPA032         Mitsumi FX-001 Double Speed CD-ROM controller + drive
406 ***** Sound/Video-capture, multimedia - PNPBxxx ********
407 PNPB000         Sound Blaster 1.5-compatible sound device
408 PNPB001         Sound Blaster 2.0-compatible sound device
409 PNPB002         Sound Blaster Pro-compatible sound device
410 PNPB003         Sound Blaster 16-compatible sound device
411 PNPB004         Thunderboard-compatible sound device
412 PNPB005         Adlib-compatible FM synthesizer device
413 PNPB006         MPU401 compatible 
414 PNPB007         Microsoft Windows Sound System-compatible sound device
415 PNPB008         Compaq Business Audio
416 PNPB009         Plug and Play Microsoft Windows Sound System Device
417 PNPB00A         MediaVision Pro Audio Spectrum 
418                 (Trantor SCSI enabled, Thunder Chip Disabled)
419 PNPB00B         MediaVision Pro Audio 3D
420 PNPB00C         MusicQuest MQX-32M
421 PNPB00D         MediaVision Pro Audio Spectrum Basic
422                 (No Trantor SCSI, Thunder Chip Enabled)
423 PNPB00E         MediaVision Pro Audio Spectrum
424                 (Trantor SCSI enabled, Thunder Chip Enabled)
425 PNPB00F         MediaVision Jazz-16 chipset (OEM Versions)
426 PNPB010         Auravision VxP500 chipset - Orchid Videola
427 PNPB018         MediaVision Pro Audio Spectrum 8-bit
428 PNPB019         MediaVision Pro Audio Spectrum Basic
429                 (no Trantor SCSI, Thunder chip Disabled)
430 PNPB020         Yamaha OPL3-compatible FM synthesizer device
431 PNPB02F         Joystick/Game port
433 ***** Modems - PNPCxxx-Dxxx****************************
434 PNPC000         Compaq 14400 Modem (TBD)
435 PNPC001         Compaq 2400/9600 Modem (TBD)
437 ======================================================================
439 DEVICE TYPE CODES
441 -----------------------------------------------------------------------
442         
443 Base Type = 0: Reserved
444 Base Type = 1: Mass Storage Device
445         Sub-Type = 0: SCSI Controller
446         Sub-Type = 1: IDE Controller (Standard ATA compatible)
447                 Interface Type = 0: Generic IDE
448         Sub-Type = 2: Floppy Controller (Standard 765 compatible)
449                 Interface Type = 0: Generic Floppy
450         Sub-Type = 3: IPI Controller
451                 Interface Type = 0: General IPI
452         Sub-Type = 80h: Other Mass Storage Controller
453 Base Type = 2: Network Interface Controller
454         Sub-Type = 0: Ethernet
455                 Interface Type = 0: General Ethernet
456         Sub-Type = 1: Token Ring Controller
457                 Interface Type = 0: General Token Ring
458         Sub-Type = 2: FDDI Controller
459                 Interface Type = 0: General FDDI
460         Sub-Type = 80h: Other Network Interface Controller
462 Base Type = 3: Display Controller
463         Sub-Type = 0: VGA Controller (Standard VGA compatible)
464                 Interface Type = 0: Generic VGA compatible
465                 Interface Type = 1: VESA SVGA Compatible Controller
466         Sub-Type = 1: XGA Compatible Controller
467                 Interface Type = 0: General XGA Compatible Controller
468         Sub-Type = 80h: Other Display Controller
469 Base Type = 4: Multi-media Controller
470         Sub-Type = 0: Video Controller
471                 Interface Type = 0: General Video
472         Sub-Type = 1: Audio Controller
473                 Interface Type = 0: General Audio Controller
474         Sub-Type = 80h: Other Multi-media Controller
475 Base Type = 5: Memory 
476         Sub-Type = 0: RAM 
477                 Interface Type = 0: General RAM
478         Sub-Type = 1: FLASH Memory
479                 Interface Type = 0: General FLASH Memory
480         Sub-Type = 80h: Other Memory Device
482 Base Type = 6: Bridge Controller
483         Sub-Type = 0: Host Processor Bridge
484                 Interface Type = 0: General Host Processor Bridge
485         Sub-Type = 1: ISA Bridge
486                 Interface Type = 0: General ISA Bridge
487         Sub-Type = 2: EISA Bridge
488                 Interface Type = 0: General EISA Bridge
489         Sub-Type = 3: MicroChannel Bridge
490                 Interface Type = 0: General Micro-Channel Bridge
491         Sub-Type = 4: PCI Bridge
492                 Interface Type = 0: General PCI Bridge
493         Sub-Type = 5: PCMCIA Bridge
494                 Interface Type = 0: General PCMCIA Bridge
495         Sub-Type = 80h: Other Bridge Device
496 Base Type = 7: Communications Device
497         Sub-Type = 0: RS-232 Device (XT-compatible COM)
498                 Interface Type = 0: Generic XT-compatible
499                 Interface Type = 1: 16450-compatible
500                 Interface Type = 2: 16550-compatible
501         Sub-Type = 1: AT-Compatible Parallel Port
502                 Interface Type = 0: Generic AT Parallel Port
503                 Interface Type = 1: Model-30 Bidirectional Port
504                 Interface Type = 2: ECP 1.? compliant port
505         Sub-Type = 80h: Other Communications Device
506 Base Type = 8: System Peripherals
507         Sub-Type = 0: Programmable Interrupt Controller (8259 Compatible)
508                 Interface Type = 0: Generic 8259 PIC
509                 Interface Type = 1: ISA PIC (8259 Compatible)
510                 Interface Type = 2: EISA PIC (8259 Compatible)
511         Sub-Type = 1: DMA Controller (8237 Compatible)
512                 Interface Type = 0: Generic DMA Controller
513                 Interface Type = 1: ISA DMA Controller
514                 Interface Type = 2: EISA DMA Controller
515         Sub-Type = 2: System Timer (8254 Compatible)
516                 Interface Type = 0: Generic System Timer
517                 Interface Type = 1: ISA System Timer
518                 Interface Type = 2: EISA System Timers (2 Timers)
519         Sub-Type = 3: Real Time Clock
520                 Interface Type = 0: Generic RTC Controller
521                 Interface Type = 1: ISA RTC Controller
522         Sub-Type = 80h: Other System Peripheral                                 
523                 
524         
525 Base Type = 9: Input Devices
526         Sub-Type = 0: Keyboard Controller
527                 Interface Type = 0: Not applicable
528         Sub-Type = 1: Digitizer (Pen)
529                 Interface Type = 0: Not applicable
530         Sub-Type = 2: Mouse Controller
531                 Interface Type = 0: Not applicable
532         Sub-Type = 80h: Other Input Controller
533 Base Type = 0Ah: Docking Station
534         Sub-Type = 0: Generic Docking Station
535                 Interface Type = 0: Not applicable
536         Sub-Type = 80h: Other type of Docking Station
537 Base Type = 0Bh: CPU Type
538         Sub-Type = 0: 386-based processor
539                 Interface Type = 0: Not applicable
540         Sub-Type = 1: 486-based processor
541                 Interface Type = 0: Not applicable
542         Sub-Type = 2: Pentium-based processor
543                 Interface Type = 0: Not applicable