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