2 * $Id: oldproc.c,v 1.24 1998/10/11 15:13:04 mj Exp $ 4 * Backward-compatible procfs interface for PCI. 6 * Copyright 1993, 1994, 1995, 1997 Drew Eckhardt, Frederic Potter, 7 * David Mosberger-Tang, Martin Mares 10 #include <linux/config.h> 11 #include <linux/types.h> 12 #include <linux/kernel.h> 13 #include <linux/pci.h> 14 #include <linux/string.h> 15 #include <linux/sched.h> 16 #include <linux/init.h> 17 #include <linux/proc_fs.h> 22 unsigned short vendor
;/* vendor id */ 23 unsigned short device
;/* device id */ 25 const char*name
;/* device name */ 28 #define DEVICE(vid,did,name) \ 29 {PCI_VENDOR_ID_##vid, PCI_DEVICE_ID_##did, (name)} 32 * Sorted in ascending order by vendor and device. 33 * Use binary search for lookup. If you add a device make sure 34 * it is sequential by both vendor and device id. 36 static __initdata
struct pci_dev_info dev_info
[] = { 37 DEVICE( COMPAQ
, COMPAQ_1280
,"QVision 1280/p"), 38 DEVICE( COMPAQ
, COMPAQ_SMART2P
,"Smart-2/P RAID Controller"), 39 DEVICE( COMPAQ
, COMPAQ_NETEL100
,"Netelligent 10/100"), 40 DEVICE( COMPAQ
, COMPAQ_NETEL10
,"Netelligent 10"), 41 DEVICE( COMPAQ
, COMPAQ_NETFLEX3I
,"NetFlex 3"), 42 DEVICE( COMPAQ
, COMPAQ_NETEL100D
,"Netelligent 10/100 Dual"), 43 DEVICE( COMPAQ
, COMPAQ_NETEL100PI
,"Netelligent 10/100 ProLiant"), 44 DEVICE( COMPAQ
, COMPAQ_NETEL100I
,"Netelligent 10/100 Integrated"), 45 DEVICE( COMPAQ
, COMPAQ_THUNDER
,"ThunderLAN"), 46 DEVICE( COMPAQ
, COMPAQ_NETFLEX3B
,"NetFlex 3 BNC"), 47 DEVICE( NCR
, NCR_53C810
,"53c810"), 48 DEVICE( NCR
, NCR_53C820
,"53c820"), 49 DEVICE( NCR
, NCR_53C825
,"53c825"), 50 DEVICE( NCR
, NCR_53C815
,"53c815"), 51 DEVICE( NCR
, NCR_53C860
,"53c860"), 52 DEVICE( NCR
, NCR_53C896
,"53c896"), 53 DEVICE( NCR
, NCR_53C895
,"53c895"), 54 DEVICE( NCR
, NCR_53C885
,"53c885"), 55 DEVICE( NCR
, NCR_53C875
,"53c875"), 56 DEVICE( NCR
, NCR_53C875J
,"53c875J"), 57 DEVICE( ATI
, ATI_68800
,"68800AX"), 58 DEVICE( ATI
, ATI_215CT222
,"215CT222"), 59 DEVICE( ATI
, ATI_210888CX
,"210888CX"), 60 DEVICE( ATI
, ATI_215GB
,"Mach64 GB"), 61 DEVICE( ATI
, ATI_215GD
,"Mach64 GD (Rage Pro)"), 62 DEVICE( ATI
, ATI_215GI
,"Mach64 GI (Rage Pro)"), 63 DEVICE( ATI
, ATI_215GP
,"Mach64 GP (Rage Pro)"), 64 DEVICE( ATI
, ATI_215GQ
,"Mach64 GQ (Rage Pro)"), 65 DEVICE( ATI
, ATI_215GT
,"Mach64 GT (Rage II)"), 66 DEVICE( ATI
, ATI_215GTB
,"Mach64 GT (Rage II)"), 67 DEVICE( ATI
, ATI_210888GX
,"210888GX"), 68 DEVICE( ATI
, ATI_215LG
,"Mach64 LG (Rage Pro)"), 69 DEVICE( ATI
, ATI_264LT
,"Mach64 LT"), 70 DEVICE( ATI
, ATI_264VT
,"Mach64 VT"), 71 DEVICE( VLSI
, VLSI_82C592
,"82C592-FC1"), 72 DEVICE( VLSI
, VLSI_82C593
,"82C593-FC1"), 73 DEVICE( VLSI
, VLSI_82C594
,"82C594-AFC2"), 74 DEVICE( VLSI
, VLSI_82C597
,"82C597-AFC2"), 75 DEVICE( VLSI
, VLSI_82C541
,"82C541 Lynx"), 76 DEVICE( VLSI
, VLSI_82C543
,"82C543 Lynx ISA"), 77 DEVICE( VLSI
, VLSI_82C532
,"82C532"), 78 DEVICE( VLSI
, VLSI_82C534
,"82C534"), 79 DEVICE( VLSI
, VLSI_82C535
,"82C535"), 80 DEVICE( VLSI
, VLSI_82C147
,"82C147"), 81 DEVICE( VLSI
, VLSI_VAS96011
,"VAS96011 (Golden Gate II)"), 82 DEVICE( ADL
, ADL_2301
,"2301"), 83 DEVICE( NS
, NS_87415
,"87415"), 84 DEVICE( NS
, NS_87410
,"87410"), 85 DEVICE( TSENG
, TSENG_W32P_2
,"ET4000W32P"), 86 DEVICE( TSENG
, TSENG_W32P_b
,"ET4000W32P rev B"), 87 DEVICE( TSENG
, TSENG_W32P_c
,"ET4000W32P rev C"), 88 DEVICE( TSENG
, TSENG_W32P_d
,"ET4000W32P rev D"), 89 DEVICE( TSENG
, TSENG_ET6000
,"ET6000"), 90 DEVICE( WEITEK
, WEITEK_P9000
,"P9000"), 91 DEVICE( WEITEK
, WEITEK_P9100
,"P9100"), 92 DEVICE( DEC
, DEC_BRD
,"DC21050"), 93 DEVICE( DEC
, DEC_TULIP
,"DC21040"), 94 DEVICE( DEC
, DEC_TGA
,"TGA"), 95 DEVICE( DEC
, DEC_TULIP_FAST
,"DC21140"), 96 DEVICE( DEC
, DEC_TGA2
,"TGA2"), 97 DEVICE( DEC
, DEC_FDDI
,"DEFPA"), 98 DEVICE( DEC
, DEC_TULIP_PLUS
,"DC21041"), 99 DEVICE( DEC
, DEC_21142
,"DC21142"), 100 DEVICE( DEC
, DEC_21052
,"DC21052"), 101 DEVICE( DEC
, DEC_21150
,"DC21150"), 102 DEVICE( DEC
, DEC_21152
,"DC21152"), 103 DEVICE( DEC
, DEC_21153
,"DC21153"), 104 DEVICE( DEC
, DEC_21154
,"DC21154"), 105 DEVICE( CIRRUS
, CIRRUS_7548
,"GD 7548"), 106 DEVICE( CIRRUS
, CIRRUS_5430
,"GD 5430"), 107 DEVICE( CIRRUS
, CIRRUS_5434_4
,"GD 5434"), 108 DEVICE( CIRRUS
, CIRRUS_5434_8
,"GD 5434"), 109 DEVICE( CIRRUS
, CIRRUS_5436
,"GD 5436"), 110 DEVICE( CIRRUS
, CIRRUS_5446
,"GD 5446"), 111 DEVICE( CIRRUS
, CIRRUS_5480
,"GD 5480"), 112 DEVICE( CIRRUS
, CIRRUS_5464
,"GD 5464"), 113 DEVICE( CIRRUS
, CIRRUS_5465
,"GD 5465"), 114 DEVICE( CIRRUS
, CIRRUS_6729
,"CL 6729"), 115 DEVICE( CIRRUS
, CIRRUS_6832
,"PD 6832"), 116 DEVICE( CIRRUS
, CIRRUS_7542
,"CL 7542"), 117 DEVICE( CIRRUS
, CIRRUS_7543
,"CL 7543"), 118 DEVICE( CIRRUS
, CIRRUS_7541
,"CL 7541"), 119 DEVICE( IBM
, IBM_FIRE_CORAL
,"Fire Coral"), 120 DEVICE( IBM
, IBM_TR
,"Token Ring"), 121 DEVICE( IBM
, IBM_82G2675
,"82G2675"), 122 DEVICE( IBM
, IBM_MCA
,"MicroChannel"), 123 DEVICE( IBM
, IBM_82351
,"82351"), 124 DEVICE( IBM
, IBM_PYTHON
,"Python"), 125 DEVICE( IBM
, IBM_SERVERAID
,"ServeRAID"), 126 DEVICE( IBM
, IBM_TR_WAKE
,"Wake On LAN Token Ring"), 127 DEVICE( IBM
, IBM_MPIC
,"MPIC-2 Interrupt Controller"), 128 DEVICE( IBM
, IBM_3780IDSP
,"MWave DSP"), 129 DEVICE( IBM
, IBM_MPIC_2
,"MPIC-2 ASIC Interrupt Controller"), 130 DEVICE( WD
, WD_7197
,"WD 7197"), 131 DEVICE( AMD
, AMD_LANCE
,"79C970"), 132 DEVICE( AMD
, AMD_SCSI
,"53C974"), 133 DEVICE( TRIDENT
, TRIDENT_9397
,"Cyber9397"), 134 DEVICE( TRIDENT
, TRIDENT_9420
,"TG 9420"), 135 DEVICE( TRIDENT
, TRIDENT_9440
,"TG 9440"), 136 DEVICE( TRIDENT
, TRIDENT_9660
,"TG 9660 / Cyber9385"), 137 DEVICE( TRIDENT
, TRIDENT_9750
,"Image 975"), 138 DEVICE( AI
, AI_M1435
,"M1435"), 139 DEVICE( MATROX
, MATROX_MGA_2
,"Atlas PX2085"), 140 DEVICE( MATROX
, MATROX_MIL
,"Millennium"), 141 DEVICE( MATROX
, MATROX_MYS
,"Mystique"), 142 DEVICE( MATROX
, MATROX_MIL_2
,"Millennium II"), 143 DEVICE( MATROX
, MATROX_MIL_2_AGP
,"Millennium II AGP"), 144 DEVICE( MATROX
, MATROX_G200_PCI
,"Matrox G200 PCI"), 145 DEVICE( MATROX
, MATROX_G200_AGP
,"Matrox G200 AGP"), 146 DEVICE( MATROX
, MATROX_MGA_IMP
,"MGA Impression"), 147 DEVICE( MATROX
, MATROX_G100_MM
,"Matrox G100 multi monitor"), 148 DEVICE( MATROX
, MATROX_G100_AGP
,"Matrox G100 AGP"), 149 DEVICE( CT
, CT_65545
,"65545"), 150 DEVICE( CT
, CT_65548
,"65548"), 151 DEVICE( CT
, CT_65550
,"65550"), 152 DEVICE( CT
, CT_65554
,"65554"), 153 DEVICE( CT
, CT_65555
,"65555"), 154 DEVICE( MIRO
, MIRO_36050
,"ZR36050"), 155 DEVICE( NEC
, NEC_PCX2
,"PowerVR PCX2"), 156 DEVICE( FD
, FD_36C70
,"TMC-18C30"), 157 DEVICE( SI
, SI_5591_AGP
,"5591/5592 AGP"), 158 DEVICE( SI
, SI_6202
,"6202"), 159 DEVICE( SI
, SI_503
,"85C503"), 160 DEVICE( SI
, SI_ACPI
,"ACPI"), 161 DEVICE( SI
, SI_5597_VGA
,"5597/5598 VGA"), 162 DEVICE( SI
, SI_6205
,"6205"), 163 DEVICE( SI
, SI_501
,"85C501"), 164 DEVICE( SI
, SI_496
,"85C496"), 165 DEVICE( SI
, SI_601
,"85C601"), 166 DEVICE( SI
, SI_5107
,"5107"), 167 DEVICE( SI
, SI_5511
,"85C5511"), 168 DEVICE( SI
, SI_5513
,"85C5513"), 169 DEVICE( SI
, SI_5571
,"5571"), 170 DEVICE( SI
, SI_5591
,"5591/5592 Host"), 171 DEVICE( SI
, SI_5597
,"5597/5598 Host"), 172 DEVICE( SI
, SI_7001
,"7001 USB"), 173 DEVICE( HP
, HP_J2585A
,"J2585A"), 174 DEVICE( HP
, HP_J2585B
,"J2585B (Lassen)"), 175 DEVICE( PCTECH
, PCTECH_RZ1000
,"RZ1000 (buggy)"), 176 DEVICE( PCTECH
, PCTECH_RZ1001
,"RZ1001 (buggy?)"), 177 DEVICE( PCTECH
, PCTECH_SAMURAI_0
,"Samurai 0"), 178 DEVICE( PCTECH
, PCTECH_SAMURAI_1
,"Samurai 1"), 179 DEVICE( PCTECH
, PCTECH_SAMURAI_IDE
,"Samurai IDE"), 180 DEVICE( DPT
, DPT
,"SmartCache/Raid"), 181 DEVICE( OPTI
, OPTI_92C178
,"92C178"), 182 DEVICE( OPTI
, OPTI_82C557
,"82C557 Viper-M"), 183 DEVICE( OPTI
, OPTI_82C558
,"82C558 Viper-M ISA+IDE"), 184 DEVICE( OPTI
, OPTI_82C621
,"82C621"), 185 DEVICE( OPTI
, OPTI_82C700
,"82C700"), 186 DEVICE( OPTI
, OPTI_82C701
,"82C701 FireStar Plus"), 187 DEVICE( OPTI
, OPTI_82C814
,"82C814 Firebridge 1"), 188 DEVICE( OPTI
, OPTI_82C822
,"82C822"), 189 DEVICE( OPTI
, OPTI_82C825
,"82C825 Firebridge 2"), 190 DEVICE( SGS
, SGS_2000
,"STG 2000X"), 191 DEVICE( SGS
, SGS_1764
,"STG 1764X"), 192 DEVICE( BUSLOGIC
, BUSLOGIC_MULTIMASTER_NC
,"MultiMaster NC"), 193 DEVICE( BUSLOGIC
, BUSLOGIC_MULTIMASTER
,"MultiMaster"), 194 DEVICE( BUSLOGIC
, BUSLOGIC_FLASHPOINT
,"FlashPoint"), 195 DEVICE( TI
, TI_TVP4010
,"TVP4010 Permedia"), 196 DEVICE( TI
, TI_TVP4020
,"TVP4020 Permedia 2"), 197 DEVICE( TI
, TI_PCI1130
,"PCI1130"), 198 DEVICE( TI
, TI_PCI1131
,"PCI1131"), 199 DEVICE( TI
, TI_PCI1250
,"PCI1250"), 200 DEVICE( OAK
, OAK_OTI107
,"OTI107"), 201 DEVICE( WINBOND2
, WINBOND2_89C940
,"NE2000-PCI"), 202 DEVICE( MOTOROLA
, MOTOROLA_MPC105
,"MPC105 Eagle"), 203 DEVICE( MOTOROLA
, MOTOROLA_MPC106
,"MPC106 Grackle"), 204 DEVICE( MOTOROLA
, MOTOROLA_RAVEN
,"Raven"), 205 DEVICE( MOTOROLA
, MOTOROLA_FALCON
,"Falcon"), 206 DEVICE( MOTOROLA
, MOTOROLA_CPX8216
,"CPX8216"), 207 DEVICE( PROMISE
, PROMISE_20246
,"IDE UltraDMA/33"), 208 DEVICE( PROMISE
, PROMISE_20262
,"IDE UltraDMA/66"), 209 DEVICE( PROMISE
, PROMISE_5300
,"DC5030"), 210 DEVICE( N9
, N9_I128
,"Imagine 128"), 211 DEVICE( N9
, N9_I128_2
,"Imagine 128v2"), 212 DEVICE( N9
, N9_I128_T2R
,"Revolution 3D"), 213 DEVICE( UMC
, UMC_UM8673F
,"UM8673F"), 214 DEVICE( UMC
, UMC_UM8891A
,"UM8891A"), 215 DEVICE( UMC
, UMC_UM8886BF
,"UM8886BF"), 216 DEVICE( UMC
, UMC_UM8886A
,"UM8886A"), 217 DEVICE( UMC
, UMC_UM8881F
,"UM8881F"), 218 DEVICE( UMC
, UMC_UM8886F
,"UM8886F"), 219 DEVICE( UMC
, UMC_UM9017F
,"UM9017F"), 220 DEVICE( UMC
, UMC_UM8886N
,"UM8886N"), 221 DEVICE( UMC
, UMC_UM8891N
,"UM8891N"), 222 DEVICE( X
, X_AGX016
,"ITT AGX016"), 223 DEVICE( PICOP
, PICOP_PT86C52X
,"PT86C52x Vesuvius"), 224 DEVICE( PICOP
, PICOP_PT80C524
,"PT80C524 Nile"), 225 DEVICE( APPLE
, APPLE_BANDIT
,"Bandit"), 226 DEVICE( APPLE
, APPLE_GC
,"Grand Central"), 227 DEVICE( APPLE
, APPLE_HYDRA
,"Hydra"), 228 DEVICE( NEXGEN
, NEXGEN_82C501
,"82C501"), 229 DEVICE( QLOGIC
, QLOGIC_ISP1020
,"ISP1020"), 230 DEVICE( QLOGIC
, QLOGIC_ISP1022
,"ISP1022"), 231 DEVICE( CYRIX
, CYRIX_5510
,"5510"), 232 DEVICE( CYRIX
, CYRIX_PCI_MASTER
,"PCI Master"), 233 DEVICE( CYRIX
, CYRIX_5520
,"5520"), 234 DEVICE( CYRIX
, CYRIX_5530_LEGACY
,"5530 Kahlua Legacy"), 235 DEVICE( CYRIX
, CYRIX_5530_SMI
,"5530 Kahlua SMI"), 236 DEVICE( CYRIX
, CYRIX_5530_IDE
,"5530 Kahlua IDE"), 237 DEVICE( CYRIX
, CYRIX_5530_AUDIO
,"5530 Kahlua Audio"), 238 DEVICE( CYRIX
, CYRIX_5530_VIDEO
,"5530 Kahlua Video"), 239 DEVICE( LEADTEK
, LEADTEK_805
,"S3 805"), 240 DEVICE( CONTAQ
, CONTAQ_82C599
,"82C599"), 241 DEVICE( CONTAQ
, CONTAQ_82C693
,"82C693"), 242 DEVICE( OLICOM
, OLICOM_OC3136
,"OC-3136/3137"), 243 DEVICE( OLICOM
, OLICOM_OC2315
,"OC-2315"), 244 DEVICE( OLICOM
, OLICOM_OC2325
,"OC-2325"), 245 DEVICE( OLICOM
, OLICOM_OC2183
,"OC-2183/2185"), 246 DEVICE( OLICOM
, OLICOM_OC2326
,"OC-2326"), 247 DEVICE( OLICOM
, OLICOM_OC6151
,"OC-6151/6152"), 248 DEVICE( SUN
, SUN_EBUS
,"PCI-EBus Bridge"), 249 DEVICE( SUN
, SUN_HAPPYMEAL
,"Happy Meal Ethernet"), 250 DEVICE( SUN
, SUN_SIMBA
,"Advanced PCI Bridge"), 251 DEVICE( SUN
, SUN_PBM
,"PCI Bus Module"), 252 DEVICE( SUN
, SUN_SABRE
,"Ultra IIi PCI"), 253 DEVICE( CMD
, CMD_640
,"640 (buggy)"), 254 DEVICE( CMD
, CMD_643
,"643"), 255 DEVICE( CMD
, CMD_646
,"646"), 256 DEVICE( CMD
, CMD_670
,"670"), 257 DEVICE( VISION
, VISION_QD8500
,"QD-8500"), 258 DEVICE( VISION
, VISION_QD8580
,"QD-8580"), 259 DEVICE( BROOKTREE
, BROOKTREE_848
,"Bt848"), 260 DEVICE( BROOKTREE
, BROOKTREE_849A
,"Bt849"), 261 DEVICE( BROOKTREE
, BROOKTREE_878_1
,"Bt878 2nd Contr. (?)"), 262 DEVICE( BROOKTREE
, BROOKTREE_878
,"Bt878"), 263 DEVICE( BROOKTREE
, BROOKTREE_8474
,"Bt8474"), 264 DEVICE( SIERRA
, SIERRA_STB
,"STB Horizon 64"), 265 DEVICE( SGI
, SGI_IOC3
,"IOC3"), 266 DEVICE( ACC
, ACC_2056
,"2056"), 267 DEVICE( WINBOND
, WINBOND_83769
,"W83769F"), 268 DEVICE( WINBOND
, WINBOND_82C105
,"SL82C105"), 269 DEVICE( WINBOND
, WINBOND_83C553
,"W83C553"), 270 DEVICE( DATABOOK
, DATABOOK_87144
,"DB87144"), 271 DEVICE( PLX
, PLX_9050
,"PCI9050 I2O"), 272 DEVICE( PLX
, PLX_9080
,"PCI9080 I2O"), 273 DEVICE( MADGE
, MADGE_MK2
,"Smart 16/4 BM Mk2 Ringnode"), 274 DEVICE( MADGE
, MADGE_C155S
,"Collage 155 Server"), 275 DEVICE(3COM
,3COM_3C339
,"3C339 TokenRing"), 276 DEVICE(3COM
,3COM_3C590
,"3C590 10bT"), 277 DEVICE(3COM
,3COM_3C595TX
,"3C595 100bTX"), 278 DEVICE(3COM
,3COM_3C595T4
,"3C595 100bT4"), 279 DEVICE(3COM
,3COM_3C595MII
,"3C595 100b-MII"), 280 DEVICE(3COM
,3COM_3C900TPO
,"3C900 10bTPO"), 281 DEVICE(3COM
,3COM_3C900COMBO
,"3C900 10b Combo"), 282 DEVICE(3COM
,3COM_3C905TX
,"3C905 100bTX"), 283 DEVICE(3COM
,3COM_3C905T4
,"3C905 100bT4"), 284 DEVICE(3COM
,3COM_3C905B_TX
,"3C905B 100bTX"), 285 DEVICE( SMC
, SMC_EPIC100
,"9432 TX"), 286 DEVICE( AL
, AL_M1445
,"M1445"), 287 DEVICE( AL
, AL_M1449
,"M1449"), 288 DEVICE( AL
, AL_M1451
,"M1451"), 289 DEVICE( AL
, AL_M1461
,"M1461"), 290 DEVICE( AL
, AL_M1489
,"M1489"), 291 DEVICE( AL
, AL_M1511
,"M1511"), 292 DEVICE( AL
, AL_M1513
,"M1513"), 293 DEVICE( AL
, AL_M1521
,"M1521"), 294 DEVICE( AL
, AL_M1523
,"M1523"), 295 DEVICE( AL
, AL_M1531
,"M1531 Aladdin IV"), 296 DEVICE( AL
, AL_M1533
,"M1533 Aladdin IV"), 297 DEVICE( AL
, AL_M1541
,"M1541 Aladdin V"), 298 DEVICE( AL
, AL_M1543
,"M1543 Aladdin V"), 299 DEVICE( AL
, AL_M3307
,"M3307 MPEG-1 decoder"), 300 DEVICE( AL
, AL_M4803
,"M4803"), 301 DEVICE( AL
, AL_M5219
,"M5219"), 302 DEVICE( AL
, AL_M5229
,"M5229 TXpro"), 303 DEVICE( AL
, AL_M5237
,"M5237 USB"), 304 DEVICE( AL
, AL_M5243
,"M5243 AGP"), 305 DEVICE( AL
, AL_M7101
,"M7101 PMU"), 306 DEVICE( SURECOM
, SURECOM_NE34
,"NE-34PCI LAN"), 307 DEVICE( NEOMAGIC
, NEOMAGIC_MAGICGRAPH_NM2070
,"Magicgraph NM2070"), 308 DEVICE( NEOMAGIC
, NEOMAGIC_MAGICGRAPH_128V
,"MagicGraph 128V"), 309 DEVICE( NEOMAGIC
, NEOMAGIC_MAGICGRAPH_128ZV
,"MagicGraph 128ZV"), 310 DEVICE( NEOMAGIC
, NEOMAGIC_MAGICGRAPH_NM2160
,"MagicGraph NM2160"), 311 DEVICE( NEOMAGIC
, NEOMAGIC_MAGICGRAPH_128ZVPLUS
,"MagicGraph 128ZV+"), 312 DEVICE( ASP
, ASP_ABP940
,"ABP940"), 313 DEVICE( ASP
, ASP_ABP940U
,"ABP940U"), 314 DEVICE( ASP
, ASP_ABP940UW
,"ABP940UW"), 315 DEVICE( MACRONIX
, MACRONIX_MX98713
,"MX98713"), 316 DEVICE( MACRONIX
, MACRONIX_MX987x5
,"MX98715 / MX98725"), 317 DEVICE( CERN
, CERN_SPSB_PMC
,"STAR/RD24 SCI-PCI (PMC)"), 318 DEVICE( CERN
, CERN_SPSB_PCI
,"STAR/RD24 SCI-PCI (PMC)"), 319 DEVICE( CERN
, CERN_HIPPI_DST
,"HIPPI destination"), 320 DEVICE( CERN
, CERN_HIPPI_SRC
,"HIPPI source"), 321 DEVICE( IMS
, IMS_8849
,"8849"), 322 DEVICE( TEKRAM2
, TEKRAM2_690c
,"DC690c"), 323 DEVICE( TUNDRA
, TUNDRA_CA91C042
,"CA91C042 Universe"), 324 DEVICE( AMCC
, AMCC_MYRINET
,"Myrinet PCI (M2-PCI-32)"), 325 DEVICE( AMCC
, AMCC_PARASTATION
,"ParaStation Interface"), 326 DEVICE( AMCC
, AMCC_S5933
,"S5933 PCI44"), 327 DEVICE( AMCC
, AMCC_S5933_HEPC3
,"S5933 Traquair HEPC3"), 328 DEVICE( INTERG
, INTERG_1680
,"IGA-1680"), 329 DEVICE( INTERG
, INTERG_1682
,"IGA-1682"), 330 DEVICE( REALTEK
, REALTEK_8029
,"8029"), 331 DEVICE( REALTEK
, REALTEK_8129
,"8129"), 332 DEVICE( REALTEK
, REALTEK_8139
,"8139"), 333 DEVICE( TRUEVISION
, TRUEVISION_T1000
,"TARGA 1000"), 334 DEVICE( INIT
, INIT_320P
,"320 P"), 335 DEVICE( INIT
, INIT_360P
,"360 P"), 336 DEVICE( TTI
, TTI_HPT343
,"HPT343"), 337 DEVICE( VIA
, VIA_82C505
,"VT 82C505"), 338 DEVICE( VIA
, VIA_82C561
,"VT 82C561"), 339 DEVICE( VIA
, VIA_82C586_1
,"VT 82C586 Apollo IDE"), 340 DEVICE( VIA
, VIA_82C576
,"VT 82C576 3V"), 341 DEVICE( VIA
, VIA_82C585
,"VT 82C585 Apollo VP1/VPX"), 342 DEVICE( VIA
, VIA_82C586_0
,"VT 82C586 Apollo ISA"), 343 DEVICE( VIA
, VIA_82C595
,"VT 82C595 Apollo VP2"), 344 DEVICE( VIA
, VIA_82C597_0
,"VT 82C597 Apollo VP3"), 345 DEVICE( VIA
, VIA_82C598_0
,"VT 82C598 Apollo MVP3"), 346 DEVICE( VIA
, VIA_82C926
,"VT 82C926 Amazon"), 347 DEVICE( VIA
, VIA_82C416
,"VT 82C416MV"), 348 DEVICE( VIA
, VIA_82C595_97
,"VT 82C595 Apollo VP2/97"), 349 DEVICE( VIA
, VIA_82C586_2
,"VT 82C586 Apollo USB"), 350 DEVICE( VIA
, VIA_82C586_3
,"VT 82C586B Apollo ACPI"), 351 DEVICE( VIA
, VIA_86C100A
,"VT 86C100A"), 352 DEVICE( VIA
, VIA_82C597_1
,"VT 82C597 Apollo VP3 AGP"), 353 DEVICE( VIA
, VIA_82C598_1
,"VT 82C598 Apollo MVP3 AGP"), 354 DEVICE( SMC2
, SMC2_1211TX
,"1211 TX"), 355 DEVICE( VORTEX
, VORTEX_GDT60x0
,"GDT 60x0"), 356 DEVICE( VORTEX
, VORTEX_GDT6000B
,"GDT 6000b"), 357 DEVICE( VORTEX
, VORTEX_GDT6x10
,"GDT 6110/6510"), 358 DEVICE( VORTEX
, VORTEX_GDT6x20
,"GDT 6120/6520"), 359 DEVICE( VORTEX
, VORTEX_GDT6530
,"GDT 6530"), 360 DEVICE( VORTEX
, VORTEX_GDT6550
,"GDT 6550"), 361 DEVICE( VORTEX
, VORTEX_GDT6x17
,"GDT 6117/6517"), 362 DEVICE( VORTEX
, VORTEX_GDT6x27
,"GDT 6127/6527"), 363 DEVICE( VORTEX
, VORTEX_GDT6537
,"GDT 6537"), 364 DEVICE( VORTEX
, VORTEX_GDT6557
,"GDT 6557"), 365 DEVICE( VORTEX
, VORTEX_GDT6x15
,"GDT 6115/6515"), 366 DEVICE( VORTEX
, VORTEX_GDT6x25
,"GDT 6125/6525"), 367 DEVICE( VORTEX
, VORTEX_GDT6535
,"GDT 6535"), 368 DEVICE( VORTEX
, VORTEX_GDT6555
,"GDT 6555"), 369 DEVICE( VORTEX
, VORTEX_GDT6x17RP
,"GDT 6117RP/6517RP"), 370 DEVICE( VORTEX
, VORTEX_GDT6x27RP
,"GDT 6127RP/6527RP"), 371 DEVICE( VORTEX
, VORTEX_GDT6537RP
,"GDT 6537RP"), 372 DEVICE( VORTEX
, VORTEX_GDT6557RP
,"GDT 6557RP"), 373 DEVICE( VORTEX
, VORTEX_GDT6x11RP
,"GDT 6111RP/6511RP"), 374 DEVICE( VORTEX
, VORTEX_GDT6x21RP
,"GDT 6121RP/6521RP"), 375 DEVICE( VORTEX
, VORTEX_GDT6x17RP1
,"GDT 6117RP1/6517RP1"), 376 DEVICE( VORTEX
, VORTEX_GDT6x27RP1
,"GDT 6127RP1/6527RP1"), 377 DEVICE( VORTEX
, VORTEX_GDT6537RP1
,"GDT 6537RP1"), 378 DEVICE( VORTEX
, VORTEX_GDT6557RP1
,"GDT 6557RP1"), 379 DEVICE( VORTEX
, VORTEX_GDT6x11RP1
,"GDT 6111RP1/6511RP1"), 380 DEVICE( VORTEX
, VORTEX_GDT6x21RP1
,"GDT 6121RP1/6521RP1"), 381 DEVICE( VORTEX
, VORTEX_GDT6x17RP2
,"GDT 6117RP2/6517RP2"), 382 DEVICE( VORTEX
, VORTEX_GDT6x27RP2
,"GDT 6127RP2/6527RP2"), 383 DEVICE( VORTEX
, VORTEX_GDT6537RP2
,"GDT 6537RP2"), 384 DEVICE( VORTEX
, VORTEX_GDT6557RP2
,"GDT 6557RP2"), 385 DEVICE( VORTEX
, VORTEX_GDT6x11RP2
,"GDT 6111RP2/6511RP2"), 386 DEVICE( VORTEX
, VORTEX_GDT6x21RP2
,"GDT 6121RP2/6521RP2"), 387 DEVICE( EF
, EF_ATM_FPGA
,"155P-MF1 (FPGA)"), 388 DEVICE( EF
, EF_ATM_ASIC
,"155P-MF1 (ASIC)"), 389 DEVICE( FORE
, FORE_PCA200PC
,"PCA-200PC"), 390 DEVICE( FORE
, FORE_PCA200E
,"PCA-200E"), 391 DEVICE( IMAGINGTECH
, IMAGINGTECH_ICPCI
,"MVC IC-PCI"), 392 DEVICE( PHILIPS
, PHILIPS_SAA7145
,"SAA7145"), 393 DEVICE( PHILIPS
, PHILIPS_SAA7146
,"SAA7146"), 394 DEVICE( CYCLONE
, CYCLONE_SDK
,"SDK"), 395 DEVICE( ALLIANCE
, ALLIANCE_PROMOTIO
,"Promotion-6410"), 396 DEVICE( ALLIANCE
, ALLIANCE_PROVIDEO
,"Provideo"), 397 DEVICE( ALLIANCE
, ALLIANCE_AT24
,"AT24"), 398 DEVICE( ALLIANCE
, ALLIANCE_AT3D
,"AT3D"), 399 DEVICE( VMIC
, VMIC_VME
,"VMIVME-7587"), 400 DEVICE( DIGI
, DIGI_EPC
,"AccelPort EPC"), 401 DEVICE( DIGI
, DIGI_RIGHTSWITCH
,"RightSwitch SE-6"), 402 DEVICE( DIGI
, DIGI_XEM
,"AccelPort Xem"), 403 DEVICE( DIGI
, DIGI_XR
,"AccelPort Xr"), 404 DEVICE( DIGI
, DIGI_CX
,"AccelPort C/X"), 405 DEVICE( DIGI
, DIGI_XRJ
,"AccelPort Xr/J"), 406 DEVICE( DIGI
, DIGI_EPCJ
,"AccelPort EPC/J"), 407 DEVICE( DIGI
, DIGI_XR_920
,"AccelPort Xr 920"), 408 DEVICE( MUTECH
, MUTECH_MV1000
,"MV-1000"), 409 DEVICE( RENDITION
, RENDITION_VERITE
,"Verite 1000"), 410 DEVICE( RENDITION
, RENDITION_VERITE2100
,"Verite 2100"), 411 DEVICE( TOSHIBA
, TOSHIBA_601
,"Laptop"), 412 DEVICE( TOSHIBA
, TOSHIBA_TOPIC95
,"ToPIC95"), 413 DEVICE( TOSHIBA
, TOSHIBA_TOPIC97
,"ToPIC97"), 414 DEVICE( RICOH
, RICOH_RL5C466
,"RL5C466"), 415 DEVICE( ARTOP
, ARTOP_ATP8400
,"ATP8400"), 416 DEVICE( ARTOP
, ARTOP_ATP850UF
,"ATP850UF"), 417 DEVICE( ZEITNET
, ZEITNET_1221
,"1221"), 418 DEVICE( ZEITNET
, ZEITNET_1225
,"1225"), 419 DEVICE( OMEGA
, OMEGA_82C092G
,"82C092G"), 420 DEVICE( LITEON
, LITEON_LNE100TX
,"LNE100TX"), 421 DEVICE( NP
, NP_PCI_FDDI
,"NP-PCI"), 422 DEVICE( ATT
, ATT_L56XMF
,"L56xMF"), 423 DEVICE( SPECIALIX
, SPECIALIX_IO8
,"IO8+/PCI"), 424 DEVICE( SPECIALIX
, SPECIALIX_XIO
,"XIO/SIO host"), 425 DEVICE( SPECIALIX
, SPECIALIX_RIO
,"RIO host"), 426 DEVICE( AURAVISION
, AURAVISION_VXP524
,"VXP524"), 427 DEVICE( IKON
, IKON_10115
,"10115 Greensheet"), 428 DEVICE( IKON
, IKON_10117
,"10117 Greensheet"), 429 DEVICE( ZORAN
, ZORAN_36057
,"ZR36057"), 430 DEVICE( ZORAN
, ZORAN_36120
,"ZR36120"), 431 DEVICE( KINETIC
, KINETIC_2915
,"2915 CAMAC"), 432 DEVICE( COMPEX
, COMPEX_ENET100VG4
,"Readylink ENET100-VG4"), 433 DEVICE( COMPEX
, COMPEX_RL2000
,"ReadyLink 2000"), 434 DEVICE( RP
, RP32INTF
,"RocketPort 32 Intf"), 435 DEVICE( RP
, RP8INTF
,"RocketPort 8 Intf"), 436 DEVICE( RP
, RP16INTF
,"RocketPort 16 Intf"), 437 DEVICE( RP
, RP4QUAD
,"Rocketport 4 Quad"), 438 DEVICE( RP
, RP8OCTA
,"RocketPort 8 Oct"), 439 DEVICE( RP
, RP8J
,"RocketPort 8 J"), 440 DEVICE( RP
, RPP4
,"RocketPort Plus 4 Quad"), 441 DEVICE( RP
, RPP8
,"RocketPort Plus 8 Oct"), 442 DEVICE( RP
, RP8M
,"RocketModem 8 J"), 443 DEVICE( CYCLADES
, CYCLOM_Y_Lo
,"Cyclom-Y below 1Mbyte"), 444 DEVICE( CYCLADES
, CYCLOM_Y_Hi
,"Cyclom-Y above 1Mbyte"), 445 DEVICE( CYCLADES
, CYCLOM_4Y_Lo
,"Cyclom-4Y below 1Mbyte"), 446 DEVICE( CYCLADES
, CYCLOM_4Y_Hi
,"Cyclom-4Y above 1Mbyte"), 447 DEVICE( CYCLADES
, CYCLOM_8Y_Lo
,"Cyclom-8Y below 1Mbyte"), 448 DEVICE( CYCLADES
, CYCLOM_8Y_Hi
,"Cyclom-8Y above 1Mbyte"), 449 DEVICE( CYCLADES
, CYCLOM_Z_Lo
,"Cyclades-Z below 1Mbyte"), 450 DEVICE( CYCLADES
, CYCLOM_Z_Hi
,"Cyclades-Z above 1Mbyte"), 451 DEVICE( ESSENTIAL
, ESSENTIAL_ROADRUNNER
,"Roadrunner serial HIPPI"), 452 DEVICE( O2
, O2_6832
,"6832"), 453 DEVICE(3DFX
,3DFX_VOODOO
,"Voodoo"), 454 DEVICE(3DFX
,3DFX_VOODOO2
,"Voodoo2"), 455 DEVICE(3DFX
,3DFX_BANSHEE
,"Banshee"), 456 DEVICE( SIGMADES
, SIGMADES_6425
,"REALmagic64/GX"), 457 DEVICE( AVM
, AVM_A1
,"A1 (Fritz)"), 458 DEVICE( STALLION
, STALLION_ECHPCI832
,"EasyConnection 8/32"), 459 DEVICE( STALLION
, STALLION_ECHPCI864
,"EasyConnection 8/64"), 460 DEVICE( STALLION
, STALLION_EIOPCI
,"EasyIO"), 461 DEVICE( OPTIBASE
, OPTIBASE_FORGE
,"MPEG Forge"), 462 DEVICE( OPTIBASE
, OPTIBASE_FUSION
,"MPEG Fusion"), 463 DEVICE( OPTIBASE
, OPTIBASE_VPLEX
,"VideoPlex"), 464 DEVICE( OPTIBASE
, OPTIBASE_VPLEXCC
,"VideoPlex CC"), 465 DEVICE( OPTIBASE
, OPTIBASE_VQUEST
,"VideoQuest"), 466 DEVICE( SATSAGEM
, SATSAGEM_PCR2101
,"PCR2101 DVB receiver"), 467 DEVICE( SATSAGEM
, SATSAGEM_TELSATTURBO
,"Telsat Turbo DVB"), 468 DEVICE( HUGHES
, HUGHES_DIRECPC
,"DirecPC"), 469 DEVICE( ENSONIQ
, ENSONIQ_ES1371
,"ES1371"), 470 DEVICE( ENSONIQ
, ENSONIQ_AUDIOPCI
,"AudioPCI"), 471 DEVICE( ALTEON
, ALTEON_ACENIC
,"AceNIC"), 472 DEVICE( PICTUREL
, PICTUREL_PCIVST
,"PCIVST"), 473 DEVICE( NVIDIA_SGS
, NVIDIA_SGS_RIVA128
,"Riva 128"), 474 DEVICE( CBOARDS
, CBOARDS_DAS1602_16
,"DAS1602/16"), 475 DEVICE( MOTOROLA_OOPS
, MOTOROLA_FALCON
,"Falcon"), 476 DEVICE( SYMPHONY
, SYMPHONY_101
,"82C101"), 477 DEVICE( TEKRAM
, TEKRAM_DC290
,"DC-290"), 478 DEVICE(3DLABS
,3DLABS_300SX
,"GLINT 300SX"), 479 DEVICE(3DLABS
,3DLABS_500TX
,"GLINT 500TX"), 480 DEVICE(3DLABS
,3DLABS_DELTA
,"GLINT Delta"), 481 DEVICE(3DLABS
,3DLABS_PERMEDIA
,"PERMEDIA"), 482 DEVICE(3DLABS
,3DLABS_MX
,"GLINT MX"), 483 DEVICE( AVANCE
, AVANCE_ALG2064
,"ALG2064i"), 484 DEVICE( AVANCE
, AVANCE_2302
,"ALG-2302"), 485 DEVICE( NETVIN
, NETVIN_NV5000SC
,"NV5000"), 486 DEVICE( S3
, S3_PLATO_PXS
,"PLATO/PX (system)"), 487 DEVICE( S3
, S3_ViRGE
,"ViRGE"), 488 DEVICE( S3
, S3_TRIO
,"Trio32/Trio64"), 489 DEVICE( S3
, S3_AURORA64VP
,"Aurora64V+"), 490 DEVICE( S3
, S3_TRIO64UVP
,"Trio64UV+"), 491 DEVICE( S3
, S3_ViRGE_VX
,"ViRGE/VX"), 492 DEVICE( S3
, S3_868
,"Vision 868"), 493 DEVICE( S3
, S3_928
,"Vision 928-P"), 494 DEVICE( S3
, S3_864_1
,"Vision 864-P"), 495 DEVICE( S3
, S3_864_2
,"Vision 864-P"), 496 DEVICE( S3
, S3_964_1
,"Vision 964-P"), 497 DEVICE( S3
, S3_964_2
,"Vision 964-P"), 498 DEVICE( S3
, S3_968
,"Vision 968"), 499 DEVICE( S3
, S3_TRIO64V2
,"Trio64V2/DX or /GX"), 500 DEVICE( S3
, S3_PLATO_PXG
,"PLATO/PX (graphics)"), 501 DEVICE( S3
, S3_ViRGE_DXGX
,"ViRGE/DX or /GX"), 502 DEVICE( S3
, S3_ViRGE_GX2
,"ViRGE/GX2"), 503 DEVICE( S3
, S3_ViRGE_MX
,"ViRGE/MX"), 504 DEVICE( S3
, S3_ViRGE_MXP
,"ViRGE/MX+"), 505 DEVICE( S3
, S3_ViRGE_MXPMV
,"ViRGE/MX+MV"), 506 DEVICE( S3
, S3_SONICVIBES
,"SonicVibes"), 507 DEVICE( DCI
, DCI_PCCOM4
,"PC COM PCI Bus 4 port serial Adapter"), 508 DEVICE( GENROCO
, GENROCO_HFP832
,"TURBOstor HFP832"), 509 DEVICE( INTEL
, INTEL_82375
,"82375EB"), 510 DEVICE( INTEL
, INTEL_82424
,"82424ZX Saturn"), 511 DEVICE( INTEL
, INTEL_82378
,"82378IB"), 512 DEVICE( INTEL
, INTEL_82430
,"82430ZX Aries"), 513 DEVICE( INTEL
, INTEL_82434
,"82434LX Mercury/Neptune"), 514 DEVICE( INTEL
, INTEL_82092AA_0
,"82092AA PCMCIA bridge"), 515 DEVICE( INTEL
, INTEL_82092AA_1
,"82092AA EIDE"), 516 DEVICE( INTEL
, INTEL_7116
,"SAA7116"), 517 DEVICE( INTEL
, INTEL_82596
,"82596"), 518 DEVICE( INTEL
, INTEL_82865
,"82865"), 519 DEVICE( INTEL
, INTEL_82557
,"82557"), 520 DEVICE( INTEL
, INTEL_82437
,"82437"), 521 DEVICE( INTEL
, INTEL_82371FB_0
,"82371FB PIIX ISA"), 522 DEVICE( INTEL
, INTEL_82371FB_1
,"82371FB PIIX IDE"), 523 DEVICE( INTEL
, INTEL_82371MX
,"430MX - 82371MX MPIIX"), 524 DEVICE( INTEL
, INTEL_82437MX
,"430MX - 82437MX MTSC"), 525 DEVICE( INTEL
, INTEL_82441
,"82441FX Natoma"), 526 DEVICE( INTEL
, INTEL_82380FB
,"82380FB Mobile"), 527 DEVICE( INTEL
, INTEL_82439
,"82439HX Triton II"), 528 DEVICE( INTEL
, INTEL_82371SB_0
,"82371SB PIIX3 ISA"), 529 DEVICE( INTEL
, INTEL_82371SB_1
,"82371SB PIIX3 IDE"), 530 DEVICE( INTEL
, INTEL_82371SB_2
,"82371SB PIIX3 USB"), 531 DEVICE( INTEL
, INTEL_82437VX
,"82437VX Triton II"), 532 DEVICE( INTEL
, INTEL_82439TX
,"82439TX"), 533 DEVICE( INTEL
, INTEL_82371AB_0
,"82371AB PIIX4 ISA"), 534 DEVICE( INTEL
, INTEL_82371AB
,"82371AB PIIX4 IDE"), 535 DEVICE( INTEL
, INTEL_82371AB_2
,"82371AB PIIX4 USB"), 536 DEVICE( INTEL
, INTEL_82371AB_3
,"82371AB PIIX4 ACPI"), 537 DEVICE( INTEL
, INTEL_82443LX_0
,"440LX - 82443LX PAC Host"), 538 DEVICE( INTEL
, INTEL_82443LX_1
,"440LX - 82443LX PAC AGP"), 539 DEVICE( INTEL
, INTEL_82443BX_0
,"440BX - 82443BX Host"), 540 DEVICE( INTEL
, INTEL_82443BX_1
,"440BX - 82443BX AGP"), 541 DEVICE( INTEL
, INTEL_82443BX_2
,"440BX - 82443BX Host (no AGP)"), 542 DEVICE( INTEL
, INTEL_P6
,"Orion P6"), 543 DEVICE( INTEL
, INTEL_82450GX
,"82450GX Orion P6"), 544 DEVICE( KTI
, KTI_ET32P2
,"ET32P2"), 545 DEVICE( ADAPTEC
, ADAPTEC_7810
,"AIC-7810 RAID"), 546 DEVICE( ADAPTEC
, ADAPTEC_7821
,"AIC-7860"), 547 DEVICE( ADAPTEC
, ADAPTEC_38602
,"AIC-7860"), 548 DEVICE( ADAPTEC
, ADAPTEC_7850
,"AIC-7850"), 549 DEVICE( ADAPTEC
, ADAPTEC_7855
,"AIC-7855"), 550 DEVICE( ADAPTEC
, ADAPTEC_5800
,"AIC-5800"), 551 DEVICE( ADAPTEC
, ADAPTEC_3860
,"AIC-7860"), 552 DEVICE( ADAPTEC
, ADAPTEC_7860
,"AIC-7860"), 553 DEVICE( ADAPTEC
, ADAPTEC_7861
,"AIC-7861"), 554 DEVICE( ADAPTEC
, ADAPTEC_7870
,"AIC-7870"), 555 DEVICE( ADAPTEC
, ADAPTEC_7871
,"AIC-7871"), 556 DEVICE( ADAPTEC
, ADAPTEC_7872
,"AIC-7872"), 557 DEVICE( ADAPTEC
, ADAPTEC_7873
,"AIC-7873"), 558 DEVICE( ADAPTEC
, ADAPTEC_7874
,"AIC-7874"), 559 DEVICE( ADAPTEC
, ADAPTEC_7895
,"AIC-7895U"), 560 DEVICE( ADAPTEC
, ADAPTEC_7880
,"AIC-7880U"), 561 DEVICE( ADAPTEC
, ADAPTEC_7881
,"AIC-7881U"), 562 DEVICE( ADAPTEC
, ADAPTEC_7882
,"AIC-7882U"), 563 DEVICE( ADAPTEC
, ADAPTEC_7883
,"AIC-7883U"), 564 DEVICE( ADAPTEC
, ADAPTEC_7884
,"AIC-7884U"), 565 DEVICE( ADAPTEC
, ADAPTEC_7885
,"AIC-7885U"), 566 DEVICE( ADAPTEC
, ADAPTEC_7886
,"AIC-7886U"), 567 DEVICE( ADAPTEC
, ADAPTEC_7887
,"AIC-7887U"), 568 DEVICE( ADAPTEC
, ADAPTEC_7888
,"AIC-7888U"), 569 DEVICE( ADAPTEC
, ADAPTEC_1030
,"ABA-1030 DVB receiver"), 570 DEVICE( ADAPTEC2
, ADAPTEC2_2940U2
,"AHA-2940U2"), 571 DEVICE( ADAPTEC2
, ADAPTEC2_2930U2
,"AHA-2930U2"), 572 DEVICE( ADAPTEC2
, ADAPTEC2_7890B
,"AIC-7890/1"), 573 DEVICE( ADAPTEC2
, ADAPTEC2_7890
,"AIC-7890/1"), 574 DEVICE( ADAPTEC2
, ADAPTEC2_3940U2
,"AHA-3940U2"), 575 DEVICE( ADAPTEC2
, ADAPTEC2_3950U2D
,"AHA-3950U2D"), 576 DEVICE( ADAPTEC2
, ADAPTEC2_7896
,"AIC-7896/7"), 577 DEVICE( ADAPTEC2
, ADAPTEC2_7892A
,"AIC-7892"), 578 DEVICE( ADAPTEC2
, ADAPTEC2_7892B
,"AIC-7892"), 579 DEVICE( ADAPTEC2
, ADAPTEC2_7892D
,"AIC-7892"), 580 DEVICE( ADAPTEC2
, ADAPTEC2_7892P
,"AIC-7892"), 581 DEVICE( ADAPTEC2
, ADAPTEC2_7899A
,"AIC-7899"), 582 DEVICE( ADAPTEC2
, ADAPTEC2_7899B
,"AIC-7899"), 583 DEVICE( ADAPTEC2
, ADAPTEC2_7899D
,"AIC-7899"), 584 DEVICE( ADAPTEC2
, ADAPTEC2_7899P
,"AIC-7899"), 585 DEVICE( ATRONICS
, ATRONICS_2015
,"IDE-2015PL"), 586 DEVICE( TIGERJET
, TIGERJET_300
,"Tiger300 ISDN"), 587 DEVICE( ARK
, ARK_STING
,"Stingray"), 588 DEVICE( ARK
, ARK_STINGARK
,"Stingray ARK 2000PV"), 589 DEVICE( ARK
, ARK_2000MT
,"2000MT") 594 * device_info[] is sorted so we can use binary search 596 static struct pci_dev_info
* __init
pci_lookup_dev(unsigned int vendor
,unsigned int dev
) 599 max
=sizeof(dev_info
)/sizeof(dev_info
[0]) -1; 603 int i
= (min
+ max
) >>1; 606 order
= dev_info
[i
].vendor
- (long) vendor
; 608 order
= dev_info
[i
].device
- (long) dev
; 626 return& dev_info
[ i
]; 630 __init
voidpci_namedevice(struct pci_dev
*dev
) 632 struct pci_dev_info
*info
; 634 info
=pci_lookup_dev(dev
->vendor
, dev
->device
); 636 strcpy(dev
->name
, info
->name
); 639 sprintf(dev
->name
,"PCI<%d:%04x> %04x:%04x", dev
->bus
->number
, dev
->devfn
, dev
->vendor
, dev
->device
); 642 #ifdef CONFIG_PROC_FS 644 static const char*pci_strclass(unsigned intclass) 647 case PCI_CLASS_NOT_DEFINED
:return"Non-VGA device"; 648 case PCI_CLASS_NOT_DEFINED_VGA
:return"VGA compatible device"; 650 case PCI_CLASS_STORAGE_SCSI
:return"SCSI storage controller"; 651 case PCI_CLASS_STORAGE_IDE
:return"IDE interface"; 652 case PCI_CLASS_STORAGE_FLOPPY
:return"Floppy disk controller"; 653 case PCI_CLASS_STORAGE_IPI
:return"IPI bus controller"; 654 case PCI_CLASS_STORAGE_RAID
:return"RAID bus controller"; 655 case PCI_CLASS_STORAGE_OTHER
:return"Unknown mass storage controller"; 657 case PCI_CLASS_NETWORK_ETHERNET
:return"Ethernet controller"; 658 case PCI_CLASS_NETWORK_TOKEN_RING
:return"Token ring network controller"; 659 case PCI_CLASS_NETWORK_FDDI
:return"FDDI network controller"; 660 case PCI_CLASS_NETWORK_ATM
:return"ATM network controller"; 661 case PCI_CLASS_NETWORK_OTHER
:return"Network controller"; 663 case PCI_CLASS_DISPLAY_VGA
:return"VGA compatible controller"; 664 case PCI_CLASS_DISPLAY_XGA
:return"XGA compatible controller"; 665 case PCI_CLASS_DISPLAY_OTHER
:return"Display controller"; 667 case PCI_CLASS_MULTIMEDIA_VIDEO
:return"Multimedia video controller"; 668 case PCI_CLASS_MULTIMEDIA_AUDIO
:return"Multimedia audio controller"; 669 case PCI_CLASS_MULTIMEDIA_OTHER
:return"Multimedia controller"; 671 case PCI_CLASS_MEMORY_RAM
:return"RAM memory"; 672 case PCI_CLASS_MEMORY_FLASH
:return"FLASH memory"; 673 case PCI_CLASS_MEMORY_OTHER
:return"Memory"; 675 case PCI_CLASS_BRIDGE_HOST
:return"Host bridge"; 676 case PCI_CLASS_BRIDGE_ISA
:return"ISA bridge"; 677 case PCI_CLASS_BRIDGE_EISA
:return"EISA bridge"; 678 case PCI_CLASS_BRIDGE_MC
:return"MicroChannel bridge"; 679 case PCI_CLASS_BRIDGE_PCI
:return"PCI bridge"; 680 case PCI_CLASS_BRIDGE_PCMCIA
:return"PCMCIA bridge"; 681 case PCI_CLASS_BRIDGE_NUBUS
:return"NuBus bridge"; 682 case PCI_CLASS_BRIDGE_CARDBUS
:return"CardBus bridge"; 683 case PCI_CLASS_BRIDGE_OTHER
:return"Bridge"; 685 case PCI_CLASS_COMMUNICATION_SERIAL
:return"Serial controller"; 686 case PCI_CLASS_COMMUNICATION_PARALLEL
:return"Parallel controller"; 687 case PCI_CLASS_COMMUNICATION_OTHER
:return"Communication controller"; 689 case PCI_CLASS_SYSTEM_PIC
:return"PIC"; 690 case PCI_CLASS_SYSTEM_DMA
:return"DMA controller"; 691 case PCI_CLASS_SYSTEM_TIMER
:return"Timer"; 692 case PCI_CLASS_SYSTEM_RTC
:return"RTC"; 693 case PCI_CLASS_SYSTEM_OTHER
:return"System peripheral"; 695 case PCI_CLASS_INPUT_KEYBOARD
:return"Keyboard controller"; 696 case PCI_CLASS_INPUT_PEN
:return"Digitizer Pen"; 697 case PCI_CLASS_INPUT_MOUSE
:return"Mouse controller"; 698 case PCI_CLASS_INPUT_OTHER
:return"Input device controller"; 700 case PCI_CLASS_DOCKING_GENERIC
:return"Generic Docking Station"; 701 case PCI_CLASS_DOCKING_OTHER
:return"Docking Station"; 703 case PCI_CLASS_PROCESSOR_386
:return"386"; 704 case PCI_CLASS_PROCESSOR_486
:return"486"; 705 case PCI_CLASS_PROCESSOR_PENTIUM
:return"Pentium"; 706 case PCI_CLASS_PROCESSOR_ALPHA
:return"Alpha"; 707 case PCI_CLASS_PROCESSOR_POWERPC
:return"Power PC"; 708 case PCI_CLASS_PROCESSOR_CO
:return"Co-processor"; 710 case PCI_CLASS_SERIAL_FIREWIRE
:return"FireWire (IEEE 1394)"; 711 case PCI_CLASS_SERIAL_ACCESS
:return"ACCESS Bus"; 712 case PCI_CLASS_SERIAL_SSA
:return"SSA"; 713 case PCI_CLASS_SERIAL_USB
:return"USB Controller"; 714 case PCI_CLASS_SERIAL_FIBER
:return"Fiber Channel"; 716 case PCI_CLASS_HOT_SWAP_CONTROLLER
:return"Hot Swap Controller"; 718 default:return"Unknown class"; 723 static const char*pci_strvendor(unsigned int vendor
) 726 case PCI_VENDOR_ID_COMPAQ
:return"Compaq"; 727 case PCI_VENDOR_ID_NCR
:return"NCR"; 728 case PCI_VENDOR_ID_ATI
:return"ATI"; 729 case PCI_VENDOR_ID_VLSI
:return"VLSI"; 730 case PCI_VENDOR_ID_ADL
:return"Avance Logic"; 731 case PCI_VENDOR_ID_NS
:return"NS"; 732 case PCI_VENDOR_ID_TSENG
:return"Tseng'Lab"; 733 case PCI_VENDOR_ID_WEITEK
:return"Weitek"; 734 case PCI_VENDOR_ID_DEC
:return"DEC"; 735 case PCI_VENDOR_ID_CIRRUS
:return"Cirrus Logic"; 736 case PCI_VENDOR_ID_IBM
:return"IBM"; 737 case PCI_VENDOR_ID_WD
:return"Western Digital"; 738 case PCI_VENDOR_ID_AMD
:return"AMD"; 739 case PCI_VENDOR_ID_TRIDENT
:return"Trident"; 740 case PCI_VENDOR_ID_AI
:return"Acer Incorporated"; 741 case PCI_VENDOR_ID_MATROX
:return"Matrox"; 742 case PCI_VENDOR_ID_CT
:return"Chips & Technologies"; 743 case PCI_VENDOR_ID_MIRO
:return"Miro"; 744 case PCI_VENDOR_ID_NEC
:return"NEC"; 745 case PCI_VENDOR_ID_FD
:return"Future Domain"; 746 case PCI_VENDOR_ID_SI
:return"Silicon Integrated Systems"; 747 case PCI_VENDOR_ID_HP
:return"Hewlett Packard"; 748 case PCI_VENDOR_ID_PCTECH
:return"PCTECH"; 749 case PCI_VENDOR_ID_DPT
:return"DPT"; 750 case PCI_VENDOR_ID_OPTI
:return"OPTi"; 751 case PCI_VENDOR_ID_SGS
:return"SGS Thomson"; 752 case PCI_VENDOR_ID_BUSLOGIC
:return"BusLogic"; 753 case PCI_VENDOR_ID_TI
:return"Texas Instruments"; 754 case PCI_VENDOR_ID_OAK
:return"OAK"; 755 case PCI_VENDOR_ID_WINBOND2
:return"Winbond"; 756 case PCI_VENDOR_ID_MOTOROLA
:return"Motorola"; 757 case PCI_VENDOR_ID_MOTOROLA_OOPS
:return"Motorola"; 758 case PCI_VENDOR_ID_PROMISE
:return"Promise Technology"; 759 case PCI_VENDOR_ID_N9
:return"Number Nine"; 760 case PCI_VENDOR_ID_UMC
:return"UMC"; 761 case PCI_VENDOR_ID_X
:return"X TECHNOLOGY"; 762 case PCI_VENDOR_ID_PICOP
:return"PicoPower"; 763 case PCI_VENDOR_ID_APPLE
:return"Apple"; 764 case PCI_VENDOR_ID_NEXGEN
:return"Nexgen"; 765 case PCI_VENDOR_ID_QLOGIC
:return"Q Logic"; 766 case PCI_VENDOR_ID_CYRIX
:return"Cyrix"; 767 case PCI_VENDOR_ID_LEADTEK
:return"Leadtek Research"; 768 case PCI_VENDOR_ID_CONTAQ
:return"Contaq"; 769 case PCI_VENDOR_ID_FOREX
:return"Forex"; 770 case PCI_VENDOR_ID_OLICOM
:return"Olicom"; 771 case PCI_VENDOR_ID_SUN
:return"Sun Microsystems"; 772 case PCI_VENDOR_ID_CMD
:return"CMD"; 773 case PCI_VENDOR_ID_VISION
:return"Vision"; 774 case PCI_VENDOR_ID_BROOKTREE
:return"Brooktree"; 775 case PCI_VENDOR_ID_SIERRA
:return"Sierra"; 776 case PCI_VENDOR_ID_ACC
:return"ACC MICROELECTRONICS"; 777 case PCI_VENDOR_ID_WINBOND
:return"Winbond"; 778 case PCI_VENDOR_ID_DATABOOK
:return"Databook"; 779 case PCI_VENDOR_ID_PLX
:return"PLX"; 780 case PCI_VENDOR_ID_MADGE
:return"Madge Networks"; 781 case PCI_VENDOR_ID_3COM
:return"3Com"; 782 case PCI_VENDOR_ID_SMC
:return"SMC"; 783 case PCI_VENDOR_ID_AL
:return"Acer Labs"; 784 case PCI_VENDOR_ID_MITSUBISHI
:return"Mitsubishi"; 785 case PCI_VENDOR_ID_SURECOM
:return"Surecom"; 786 case PCI_VENDOR_ID_NEOMAGIC
:return"Neomagic"; 787 case PCI_VENDOR_ID_ASP
:return"Advanced System Products"; 788 case PCI_VENDOR_ID_MACRONIX
:return"Macronix"; 789 case PCI_VENDOR_ID_CERN
:return"CERN"; 790 case PCI_VENDOR_ID_NVIDIA
:return"NVidia"; 791 case PCI_VENDOR_ID_IMS
:return"IMS"; 792 case PCI_VENDOR_ID_TEKRAM2
:return"Tekram"; 793 case PCI_VENDOR_ID_TUNDRA
:return"Tundra"; 794 case PCI_VENDOR_ID_AMCC
:return"AMCC"; 795 case PCI_VENDOR_ID_INTERG
:return"Intergraphics"; 796 case PCI_VENDOR_ID_REALTEK
:return"Realtek"; 797 case PCI_VENDOR_ID_TRUEVISION
:return"Truevision"; 798 case PCI_VENDOR_ID_INIT
:return"Initio Corp"; 799 case PCI_VENDOR_ID_TTI
:return"Triones Technologies, Inc."; 800 case PCI_VENDOR_ID_VIA
:return"VIA Technologies"; 801 case PCI_VENDOR_ID_SMC2
:return"SMC"; 802 case PCI_VENDOR_ID_VORTEX
:return"VORTEX"; 803 case PCI_VENDOR_ID_EF
:return"Efficient Networks"; 804 case PCI_VENDOR_ID_FORE
:return"Fore Systems"; 805 case PCI_VENDOR_ID_IMAGINGTECH
:return"Imaging Technology"; 806 case PCI_VENDOR_ID_PHILIPS
:return"Philips"; 807 case PCI_VENDOR_ID_CYCLONE
:return"Cyclone"; 808 case PCI_VENDOR_ID_ALLIANCE
:return"Alliance"; 809 case PCI_VENDOR_ID_VMIC
:return"VMIC"; 810 case PCI_VENDOR_ID_DIGI
:return"Digi Intl."; 811 case PCI_VENDOR_ID_MUTECH
:return"Mutech"; 812 case PCI_VENDOR_ID_RENDITION
:return"Rendition"; 813 case PCI_VENDOR_ID_TOSHIBA
:return"Toshiba"; 814 case PCI_VENDOR_ID_RICOH
:return"Ricoh"; 815 case PCI_VENDOR_ID_ARTOP
:return"Artop Electronics"; 816 case PCI_VENDOR_ID_ZEITNET
:return"ZeitNet"; 817 case PCI_VENDOR_ID_OMEGA
:return"Omega Micro"; 818 case PCI_VENDOR_ID_LITEON
:return"LiteOn"; 819 case PCI_VENDOR_ID_NP
:return"Network Peripherals"; 820 case PCI_VENDOR_ID_ATT
:return"Lucent (ex-AT&T) Microelectronics"; 821 case PCI_VENDOR_ID_SPECIALIX
:return"Specialix"; 822 case PCI_VENDOR_ID_AURAVISION
:return"Auravision"; 823 case PCI_VENDOR_ID_IKON
:return"Ikon"; 824 case PCI_VENDOR_ID_ZORAN
:return"Zoran"; 825 case PCI_VENDOR_ID_KINETIC
:return"Kinetic"; 826 case PCI_VENDOR_ID_COMPEX
:return"Compex"; 827 case PCI_VENDOR_ID_RP
:return"Comtrol"; 828 case PCI_VENDOR_ID_CYCLADES
:return"Cyclades"; 829 case PCI_VENDOR_ID_ESSENTIAL
:return"Essential Communications"; 830 case PCI_VENDOR_ID_O2
:return"O2 Micro"; 831 case PCI_VENDOR_ID_3DFX
:return"3Dfx"; 832 case PCI_VENDOR_ID_SIGMADES
:return"Sigma Designs"; 833 case PCI_VENDOR_ID_AVM
:return"AVM"; 834 case PCI_VENDOR_ID_CCUBE
:return"C-Cube"; 835 case PCI_VENDOR_ID_DIPIX
:return"Dipix"; 836 case PCI_VENDOR_ID_STALLION
:return"Stallion Technologies"; 837 case PCI_VENDOR_ID_OPTIBASE
:return"Optibase"; 838 case PCI_VENDOR_ID_SATSAGEM
:return"SatSagem"; 839 case PCI_VENDOR_ID_HUGHES
:return"Hughes"; 840 case PCI_VENDOR_ID_ENSONIQ
:return"Ensoniq"; 841 case PCI_VENDOR_ID_ALTEON
:return"Alteon"; 842 case PCI_VENDOR_ID_PICTUREL
:return"Picture Elements"; 843 case PCI_VENDOR_ID_NVIDIA_SGS
:return"NVidia/SGS Thomson"; 844 case PCI_VENDOR_ID_CBOARDS
:return"ComputerBoards"; 845 case PCI_VENDOR_ID_SYMPHONY
:return"Symphony"; 846 case PCI_VENDOR_ID_TEKRAM
:return"Tekram"; 847 case PCI_VENDOR_ID_3DLABS
:return"3Dlabs"; 848 case PCI_VENDOR_ID_AVANCE
:return"Avance"; 849 case PCI_VENDOR_ID_NETVIN
:return"NetVin"; 850 case PCI_VENDOR_ID_S3
:return"S3 Inc."; 851 case PCI_VENDOR_ID_DCI
:return"Decision Computer Int."; 852 case PCI_VENDOR_ID_GENROCO
:return"Genroco"; 853 case PCI_VENDOR_ID_INTEL
:return"Intel"; 854 case PCI_VENDOR_ID_KTI
:return"KTI"; 855 case PCI_VENDOR_ID_ADAPTEC
:return"Adaptec"; 856 case PCI_VENDOR_ID_ADAPTEC2
:return"Adaptec"; 857 case PCI_VENDOR_ID_ATRONICS
:return"Atronics"; 858 case PCI_VENDOR_ID_TIGERJET
:return"TigerJet"; 859 case PCI_VENDOR_ID_ARK
:return"ARK Logic"; 860 default:return"Unknown vendor"; 866 * Convert some of the configuration space registers of the device at 867 * address (bus,devfn) into a string (possibly several lines each). 868 * The configuration string is stored starting at buf[len]. If the 869 * string would exceed the size of the buffer (SIZE), 0 is returned. 871 static intsprint_dev_config(struct pci_dev
*dev
,char*buf
,int size
) 873 unsigned int class_rev
, bus
, devfn
; 874 unsigned short vendor
, device
, status
; 875 unsigned char bist
, latency
, min_gnt
, max_lat
; 879 bus
= dev
->bus
->number
; 882 pcibios_read_config_dword(bus
, devfn
, PCI_CLASS_REVISION
, &class_rev
); 883 pcibios_read_config_word(bus
, devfn
, PCI_VENDOR_ID
, &vendor
); 884 pcibios_read_config_word(bus
, devfn
, PCI_DEVICE_ID
, &device
); 885 pcibios_read_config_word(bus
, devfn
, PCI_STATUS
, &status
); 886 pcibios_read_config_byte(bus
, devfn
, PCI_BIST
, &bist
); 887 pcibios_read_config_byte(bus
, devfn
, PCI_LATENCY_TIMER
, &latency
); 888 pcibios_read_config_byte(bus
, devfn
, PCI_MIN_GNT
, &min_gnt
); 889 pcibios_read_config_byte(bus
, devfn
, PCI_MAX_LAT
, &max_lat
); 893 len
+=sprintf(buf
+ len
," Bus %2d, device %3d, function %2d:\n", 894 bus
,PCI_SLOT(devfn
),PCI_FUNC(devfn
)); 899 len
+=sprintf(buf
+ len
," %s: %s %s (rev %d).\n", 900 pci_strclass(class_rev
>>8),pci_strvendor(vendor
), 901 dev
->name
, class_rev
&0xff); 903 switch(status
& PCI_STATUS_DEVSEL_MASK
) { 904 case PCI_STATUS_DEVSEL_FAST
: str
="Fast devsel. ";break; 905 case PCI_STATUS_DEVSEL_MEDIUM
: str
="Medium devsel. ";break; 906 case PCI_STATUS_DEVSEL_SLOW
: str
="Slow devsel. ";break; 907 default: str
="Unknown devsel. "; 909 if(len
+strlen(str
) > size
) { 912 len
+=sprintf(buf
+ len
, str
); 914 if(status
& PCI_STATUS_FAST_BACK
) { 915 # define fast_b2b_capable"Fast back-to-back capable. " 916 if(len
+strlen(fast_b2b_capable
) > size
) { 919 len
+=sprintf(buf
+ len
, fast_b2b_capable
); 920 # undef fast_b2b_capable 923 if(bist
& PCI_BIST_CAPABLE
) { 924 # define BIST_capable"BIST capable. " 925 if(len
+strlen(BIST_capable
) > size
) { 928 len
+=sprintf(buf
+ len
, BIST_capable
); 936 len
+=sprintf(buf
+ len
,"IRQ %d. ", dev
->irq
); 943 len
+=sprintf(buf
+ len
,"Master Capable. "); 945 len
+=sprintf(buf
+ len
,"Latency=%d. ", latency
); 947 len
+=sprintf(buf
+ len
,"No bursts. "); 949 len
+=sprintf(buf
+ len
,"Min Gnt=%d.", min_gnt
); 951 len
+=sprintf(buf
+ len
,"Max Lat=%d.", max_lat
); 954 for(reg
=0; reg
<6; reg
++) { 955 struct resource
*res
= dev
->resource
+ reg
; 956 unsigned long base
, end
, flags
; 967 if(flags
& PCI_BASE_ADDRESS_SPACE_IO
) { 968 len
+=sprintf(buf
+ len
, 969 "\nI/O at 0x%lx [0x%lx].", 972 const char*pref
, *type
="unknown"; 974 if(flags
& PCI_BASE_ADDRESS_MEM_PREFETCH
) { 979 switch(flags
& PCI_BASE_ADDRESS_MEM_TYPE_MASK
) { 980 case PCI_BASE_ADDRESS_MEM_TYPE_32
: 981 type
="32 bit";break; 982 case PCI_BASE_ADDRESS_MEM_TYPE_1M
: 983 type
="20 bit";break; 984 case PCI_BASE_ADDRESS_MEM_TYPE_64
: 985 type
="64 bit";break; 987 len
+=sprintf(buf
+ len
, 988 "\n%srefetchable %s memory at " 989 "0x%lx [0x%lx].", pref
, type
, 995 len
+=sprintf(buf
+ len
,"\n"); 1001 * Return list of PCI devices as a character string for /proc/pci. 1002 * BUF is a buffer that is PAGE_SIZE bytes long. 1004 intget_pci_list(char*buf
) 1006 int nprinted
, len
, size
; 1007 struct pci_dev
*dev
; 1008 static int complained
=0; 1009 # define MSG"\nwarning: page-size limit reached!\n" 1013 printk(KERN_INFO
"%s uses obsolete /proc/pci interface\n", 1017 /* reserve same for truncation warning message: */ 1018 size
= PAGE_SIZE
- (strlen(MSG
) +1); 1019 len
=sprintf(buf
,"PCI devices found:\n"); 1021 for(dev
= pci_devices
; dev
; dev
= dev
->next
) { 1022 nprinted
=sprint_dev_config(dev
, buf
+ len
, size
- len
); 1024 return len
+sprintf(buf
+ len
, MSG
); 1031 static struct proc_dir_entry proc_old_pci
= { 1033 S_IFREG
| S_IRUGO
,1,0,0, 1034 0, &proc_array_inode_operations
1037 void __init
proc_old_pci_init(void) 1039 proc_register(&proc_root
, &proc_old_pci
); 1042 #endif/* CONFIG_PROC_FS */