LsPciDev.inf
## [Defines] INF_VERSION = 0x00010005 BASE_NAME = LsPciDev FILE_GUID = 8cfdb267-ceed-4e72-b541-a44ce670c037 MODULE_TYPE = UEFI_APPLICATION VERSION_STRING = 1.0 ENTRY_POINT = UefiMain [Sources] LsPciDev.c PciVenInfo.h PciClassInfo.h [Packages] MdePkg/MdePkg.dec ShellPkg/ShellPkg.dec MdeModulePkg/MdeModulePkg.dec StdLib/StdLib.dec EdkCompatibilityPkg/EdkCompatibilityPkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec [LibraryClasses] UefiBootServicesTableLib UefiLib UefiApplicationEntryPoint PrintLib DebugLib ShellLib [Protocols] gEfiPciRootBridgeIoProtocolGuid #metohd 1
LsPciDev.c
#include <Library/UefiLib.h> #include <Library/UefiBootServicesTableLib.h> #include <Library/DebugLib.h> #include <Protocol/PciIo.h> #include <Protocol/PciRootBridgeIo.h> #include <IndustryStandard/Pci22.h> #include <Library/ShellLib.h> #include <Library/UefiShellDebug1CommandsLib/Pci.h> #include "PciVenInfo.h" #include "PciClassInfo.h" #define DID_OFFSET 2 #define Rev_ID_OFFSET 8 #define CLASS_CODE_OFFSET 9 #define HEADER_TYPE_OFFSET 0xE #define CAP_POINTER 0x34 #define PCIE_DEVICE 0x10 UINT32 __inline SerachVenTable(UINT32 LowIndex,UINT32 HighIndex,PCI_VENTABLE SortedArray[],UINT16 TargetVID) { UINT32 Low,High,Mid; Low = LowIndex; High = HighIndex; Mid = (Low + High)/2; if(SortedArray[Mid].VenId == TargetVID) return Mid; else{ if(TargetVID > SortedArray[Mid].VenId) Low = Mid + 1; else High = Mid - 1; if(High < Low) return 0xffffffff; //PCI_Ven_Info.h should be updated. else return SerachVenTable(Low,High,SortedArray,TargetVID); } } UINT32 __inline SerachPciClassTable(UINT32 LowIndex,UINT32 HighIndex,PCI_CLASSCODETABLE SortedArray[],UINT32 TargetClassCode) { UINT32 Low,High,Mid,ToClassCode; Low = LowIndex; High = HighIndex; Mid = (Low + High)/2; ToClassCode = 0x00000000 | PciClassCodeTable[Mid].BaseClass << 16 | PciClassCodeTable[Mid].SubClass << 8 | PciClassCodeTable[Mid].ProgIf; if(ToClassCode == TargetClassCode) return Mid; else{ if(TargetClassCode > ToClassCode) Low = Mid + 1; else High = Mid - 1; if(High < Low) return 0xffffffff; //PciClassInfo.h should be updated. else return SerachPciClassTable(Low,High,SortedArray,TargetClassCode); } } BOOLEAN __inline IsRoot(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,UINTN PciAddress){ UINT8 CFGValue8; PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint8,PciAddress | HEADER_TYPE_OFFSET,1,&CFGValue8); if(CFGValue8 & PCI_BIT_0) return TRUE; else return FALSE; } BOOLEAN __inline IsPCIE(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo, UINTN PciAddress){ UINT8 CFGValue8 = 0xff; UINT16 Offset = CAP_POINTER; UINTN TempPciAddress = PciAddress | Offset; PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint8,TempPciAddress,1,&CFGValue8); Offset = CFGValue8; while(CFGValue8){ TempPciAddress = PciAddress | Offset; PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint8,TempPciAddress,1,&CFGValue8); if(CFGValue8 != PCIE_DEVICE){ TempPciAddress += 1; PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint8,TempPciAddress,1,&CFGValue8); Offset = CFGValue8; } else return TRUE; } return FALSE; } VOID __inline PrintDeviceInfo(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo,UINTN PciAddress){ UINT16 VID,DID; UINT32 ClassCode,Result; PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint16,PciAddress,1,&VID); PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint16,PciAddress | DID_OFFSET,1,&DID); PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint32,PciAddress | Rev_ID_OFFSET,1,&ClassCode); ClassCode = ClassCode >> 8; //get class code if(IsPCIE(PciRootBridgeIo,PciAddress)) Print(L"PCIE "); if(IsRoot(PciRootBridgeIo,PciAddress)) Print(L"Root Bridge "); Result = SerachVenTable(0,PCI_VENTABLE_LEN-1,PciVenTable,VID); if(Result != 0xffffffff) Print(L"%s (%04x) ",PciVenTable[Result].VenStr,VID); else Print(L"Unknown Vendor (%4x)",VID); Print(L"Device ID: %04x Class Code: %06x\n",DID,ClassCode); Result = SerachPciClassTable(0,PCI_CLASSCODETABLE_LEN-1,PciClassCodeTable,ClassCode); if(Result != 0xffffffff){ Print(L"Name: %s %s %s\n",PciClassCodeTable[Result].BaseDesc,\ PciClassCodeTable[Result].SubDesc,PciClassCodeTable[Result].ProgDesc); } else{ Print(L"Name: %s %s %s\n",PciClassCodeTable[PCI_CLASSCODETABLE_LEN-1].BaseDesc,\ PciClassCodeTable[PCI_CLASSCODETABLE_LEN-1].SubDesc,PciClassCodeTable[PCI_CLASSCODETABLE_LEN-1].ProgDesc); } } VOID __inline ScanPCIDevices(EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo){ UINTN Bus,Fun,Dev; UINTN PciAddress; UINT16 VID; UINT8 CFGValue8; CFGValue8 = 0; for(Bus = 0; Bus <= PCI_MAX_BUS;Bus++){ for(Dev = 0;Dev <= PCI_MAX_DEVICE;Dev++){ for(Fun = 0;Fun <= PCI_MAX_FUNC;Fun++){ PciAddress = CALC_EFI_PCI_ADDRESS(Bus,Dev,Fun,0); PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint16,PciAddress,1,&VID); if(VID == 0xFFFF) continue; PrintDeviceInfo(PciRootBridgeIo,PciAddress); if(Fun == 0){ //is multi-function? PciRootBridgeIo->Pci.Read(PciRootBridgeIo,EfiPciWidthUint8,PciAddress| HEADER_TYPE_OFFSET,1,&CFGValue8); if((CFGValue8 & PCI_BIT_7) == 0) break; //no } } } } } EFI_STATUS EFIAPI UefiMain ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ) { EFI_STATUS Status; UINTN HandleCount; EFI_HANDLE *HandleBuffer; UINTN i; EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *PciRootBridgeIo; //A lot of M.B. not includes Shell 2.0 into the UEFI so far. //Thus, this App will crash when calling beLow protocol under old shell environment. //gEfiShellProtocol->EnablePageBreak(); //How to solve it: compile shell 2.0 (ShellPkg) and //execute the shell.efi under your old shell. //However, there are a lot of bug in the Shell 2.0 (ShellPkg) now. //Method 1: Using EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL Status = gBS->LocateHandleBuffer ( ByProtocol, &gEfiPciRootBridgeIoProtocolGuid, NULL, &HandleCount, &HandleBuffer ); ASSERT_EFI_ERROR(Status); //Method 2: Using EFI_PCI_IO_PROTOCOL //Note: this sample only shows you how to use the method 1. Print(L"Number of PCI Root Bridge: %d\n",HandleCount); for (i = 0; i < HandleCount; i++) { Status = gBS->HandleProtocol (HandleBuffer[i], &gEfiPciRootBridgeIoProtocolGuid, &PciRootBridgeIo); ASSERT_EFI_ERROR(Status); ScanPCIDevices(PciRootBridgeIo); } return EFI_SUCCESS; }
PciVenInfo.h
#ifndef _PCI_VEN_INFO_H_ #define _PCI_VEN_INFO_H_ typedef struct _PCI_VENTABLE { UINT16 VenId; UINT16 *VenStr; }PCI_VENTABLE, *PPCI_VENTABLE; PCI_VENTABLE PciVenTable[] = { {0x001A, L"scend Communications, Inc."}, {0x003D, L"Martin-Marietta Corporation"}, {0x0E11, L"Compaq"}, {0x1000, L"Symbios Logic Inc."}, {0x1002, L"ATI"}, {0x1003, L"ULSI Systems"}, {0x1004, L"VLSI Technologies"}, {0x1005, L"Avance Logics (ADL)"}, {0x1006, L"Reply Group"}, {0x1007, L"Netframe Systems Inc."}, {0x1008, L"Epson"}, {0x100A, L"Phoenix Technologies"}, {0x100B, L"National Semiconductor"}, {0x100C, L"Tseng Labs"}, {0x100D, L"AST Research"}, {0x100E, L"Weitek"}, {0x1010, L"Video Logic Ltd"}, {0x1011, L"DEC"}, {0x1012, L"Micronics Computers"}, {0x1013, L"Cirrus Logic"}, {0x1014, L"IBM"}, {0x1015, L"LSI Logic Corp. of Canada"}, {0x1016, L"ICL Personal Systems"}, {0x1017, L"SPEA Software AG"}, {0x1018, L"Unisys"}, {0x1019, L"EliteGroup Computer Sys"}, {0x101A, L"NCR/AT&T GIS"}, {0x101B, L"Vitesse Semiconductor"}, {0x101C, L"Western Digital"}, {0x101E, L"AMI"}, {0x101F, L"Picturetel"}, {0x1020, L"Hitachi Computer Electronics"}, {0x1021, L"Oki Electric Industry"}, {0x1022, L"Advanced Micro Devices"}, {0x1023, L"Trident Microsystems"}, {0x1024, L"Zenith Data Systems"}, {0x1025, L"Acer"}, {0x1028, L"Dell Computer Corporation"}, {0x1029, L"Siemens Nixdorf"}, {0x102A, L"LSI Logic, Headland Division"}, {0x102B, L"Matrox"}, {0x102C, L"Chips & Technologies"}, {0x102D, L"Wyse Technologies"}, {0x102E, L"Olivetti Advanced Technology"}, {0x102F, L"Toshiba America"}, {0x1030, L"TMC Research"}, {0x1031, L"Miro Computer Products AG"}, {0x1032, L"Compaq"}, {0x1033, L"NEC Corporation"}, {0x1034, L"Burndy Corporation"}, {0x1035, L"Computers and Communications Research Lab"}, {0x1036, L"Future Domain"}, {0x1037, L"Hitachi Micro Systems"}, {0x1038, L"AMP Incorporated"}, {0x1039, L"Silicon Integrated System (SIS)"}, {0x103A, L"Seiko Epson Corporation"}, {0x103B, L"Tatung Corp. of America"}, {0x103C, L"Hewlett-Packard"}, {0x103E, L"Solliday"}, {0x103F, L"Logic Modeling"}, {0x1040, L"Kubota Pacific"}, {0x1041, L"Computrend"}, {0x1042, L"PC Technology"}, {0x1043, L"Asustek"}, {0x1044, L"Distributed Processing Technology"}, {0x1045, L"OPTi"}, {0x1046, L"IPC Corporation, Ltd."}, {0x1047, L"Genoa Systems Corp."}, {0x1048, L"Elsa GmbH"}, {0x1049, L"Fountain Technology"}, {0x104A, L"SGS Thomson Microelectric"}, {0x104B, L"BusLogic"}, {0x104C, L"Texas Instruments"}, {0x104D, L"Sony Corporation"}, {0x104E, L"Oak Technology"}, {0x104F, L"Co-Time Computer Ltd."}, {0x1050, L"Winbond"}, {0x1051, L"Anigma Corp."}, {0x1052, L"Young Micro Systems"}, {0x1054, L"Hitachi, Ltd."}, {0x1055, L"EFAR Microsystems"}, {0x1056, L"ICL"}, {0x1057, L"Motorola"}, {0x1058, L"Electronics and Telecommunications Research"}, {0x1059, L"Teknor Microsystems"}, {0x105A, L"Promise Technology"}, {0x105B, L"Foxconn International"}, {0x105C, L"Wipro Infotech Ltd."}, {0x105D, L"Number 9 Computer Company"}, {0x105E, L"VTech Engineering Canada, Ltd."}, {0x105F, L"Infotronic America, Inc."}, {0x1060, L"United Microelectronics (UMC)"}, {0x1061, L"8x8 (X Tech)"}, {0x1062, L"Maspar Computer Copr."}, {0x1063, L"Ocean Office Automation"}, {0x1064, L"Alcatel Cit"}, {0x1065, L"Texas Microsystems"}, {0x1066, L"PicoPower Technology"}, {0x1067, L"Mitsubishi Electronics"}, {0x1068, L"Diversified Technology"}, {0x1069, L"Mylex Corporation"}, {0x106A, L"Aten Research"}, {0x106B, L"Apple Computer"}, {0x106C, L"Hyundai Electronics America"}, {0x106D, L"Sequent"}, {0x106E, L"DFI Inc."}, {0x106F, L"City Gate Development, Ltd."}, {0x1070, L"Daewoo Telecom Ltd."}, {0x1071, L"Mitac"}, {0x1072, L"GIT Co., Ltd."}, {0x1073, L"Yamaha Corporation"}, {0x1074, L"NexGen Microsystems"}, {0x1075, L"Advanced Integration Research"}, {0x1076, L"Chaintech Computer Co. Ltd."}, {0x1077, L"Q Logic"}, {0x1078, L"Cyrix Corporation"}, {0x1079, L"I-Bus"}, {0x107A, L"Networth"}, {0x107B, L"Gateway 2000"}, {0x107C, L"Goldstar Co. Ltd."}, {0x107D, L"Leadtek Research"}, {0x107E, L"Interphase Corporation"}, {0x107F, L"Data Technology Corporation (DTC)"}, {0x1080, L"Contaq Microsystems"}, {0x1081, L"Supermac Technology"}, {0x1082, L"EFA Corporation of America"}, {0x1083, L"Forex Computer Corporation"}, {0x1084, L"Parador"}, {0x1085, L"Tulip Computers Int'l BV"}, {0x1086, L"J. Bond Computer Systems"}, {0x1087, L"Cache Computer"}, {0x1088, L"Microcomputer Systems (M) Son"}, {0x1089, L"Data General Corporation"}, {0x108A, L"Bit3 Computer"}, {0x108C, L"Elonex PLC (Oakleigh Systems, Inc.)"}, {0x108D, L"Olicom"}, {0x108E, L"Sun Microsystems"}, {0x108F, L"Systemsoft Corporation"}, {0x1090, L"Encore Computer Corporation"}, {0x1091, L"Intergraph Corporation"}, {0x1092, L"Diamond Computer Systems"}, {0x1093, L"National Instruments"}, {0x1094, L"First International Computers (FIC)"}, {0x1095, L"CMD Technology, Inc."}, {0x1096, L"Alacron"}, {0x1097, L"Appian Technology"}, {0x1098, L"Vision / Quantum Designs Ltd"}, {0x1099, L"Samsung Electronics Co. Ltd."}, {0x109A, L"Packard Bell"}, {0x109B, L"Gemlight Computer Ltd."}, {0x109C, L"Megachips Corporation"}, {0x109D, L"Zida Technologies"}, {0x109E, L"Brooktree Corporation"}, {0x109F, L"Trigem Computer Inc."}, {0x10A0, L"Meidensha Corporation"}, {0x10A1, L"Juko Electronics Inc. Ltd."}, {0x10A2, L"Quantum Corporation"}, {0x10A3, L"Everex Systems Inc."}, {0x10A4, L"Globe Manufacturing Sales"}, {0x10A5, L"Racal Interlan"}, {0x10A6, L"Informtech Industrial Ltd."}, {0x10A7, L"Benchmarq Microelectronics"}, {0x10A8, L"Sierra Semiconductor"}, {0x10A9, L"Silicon Graphics"}, {0x10AA, L"ACC Microelectronics"}, {0x10AB, L"Digicom"}, {0x10AC, L"Honeywell IASD"}, {0x10AD, L"Symphony Labs"}, {0x10AE, L"Cornerstone Technology"}, {0x10AF, L"Microcomputer Systems"}, {0x10B0, L"CardExpert Technology"}, {0x10B1, L"Cabletron Systems, Inc."}, {0x10B2, L"Raytheon Company"}, {0x10B3, L"Databook Inc."}, {0x10B4, L"STB Systems"}, {0x10B5, L"PLX Technology"}, {0x10B6, L"Madge Networks"}, {0x10B7, L"3com Corporation"}, {0x10B8, L"Standard Microsystems Corporation (SMC)"}, {0x10B9, L"Acer Labs Inc."}, {0x10BA, L"Mitsubishi Electronics Corp."}, {0x10BB, L"Dapha Electronics Corporation"}, {0x10BC, L"Advanced Logic Research Inc. (ALR)"}, {0x10BD, L"Surecom Technology"}, {0x10BE, L"Tseng Labs International Corp."}, {0x10BF, L"Most Inc."}, {0x10C0, L"Boca Research Inc."}, {0x10C1, L"ICM Corp. Ltd."}, {0x10C2, L"Auspex Systems Inc."}, {0x10C3, L"Samsung Semiconductors"}, {0x10C4, L"Award Software International Inc."}, {0x10C5, L"Xerox Corporation"}, {0x10C6, L"Rambus Inc."}, {0x10C7, L"Media Vision"}, {0x10C8, L"Neomagic Corporation"}, {0x10C9, L"DataExpert Corporation"}, {0x10CA, L"Fujitsu"}, {0x10CB, L"Omron Corporation"}, {0x10CC, L"Mentor Arc Inc."}, {0x10CD, L"Advanced System Products"}, {0x10CE, L"Radius Inc."}, {0x10CF, L"Citicorp TTI"}, {0x10D0, L"Fujitsu Limited"}, {0x10D1, L"Future+ Systems"}, {0x10D2, L"Molex Incorporated"}, {0x10D3, L"Jabil Circuit Inc."}, {0x10D4, L"Hualon Microelectronics"}, {0x10D5, L"Autologic Inc."}, {0x10D6, L"Cetia"}, {0x10D7, L"BCM Advanced Research"}, {0x10D8, L"Advanced Peripherals Labs"}, {0x10D9, L"Macronix International Co. Ltd"}, {0x10DA, L"Thomas-Conrad Corporation"}, {0x10DB, L"Rohm Research"}, {0x10DC, L"CERN/ECP/EDU"}, {0x10DD, L"Evans & Sutherland"}, {0x10DE, L"NVIDIA Corporation"}, {0x10DF, L"Emulex Corporation"}, {0x10E0, L"Integrated Micro Solutions (IMS)"}, {0x10E1, L"TekRAM Technology Corporation Ltd."}, {0x10E2, L"Aptix Corporation"}, {0x10E3, L"Newbridge Microsystems"}, {0x10E4, L"Tandem Computers"}, {0x10E5, L"Micro Industries"}, {0x10E6, L"Gainbery Computer Products Inc."}, {0x10E7, L"Vadem"}, {0x10E8, L"Applied Micro Circuits Corp."}, {0x10E9, L"Alps Electronic Corp. Ltd."}, {0x10EA, L"Integraphics Systems"}, {0x10EB, L"Artist Graphics"}, {0x10EC, L"Realtek Semiconductor"}, {0x10ED, L"ASCII Corporation"}, {0x10EE, L"Xilinx Corporation"}, {0x10EF, L"Racore Computer Products"}, {0x10F0, L"Peritek Corporation"}, {0x10F1, L"Tyan Computer"}, {0x10F2, L"Achme Computer Inc."}, {0x10F3, L"Alaris Inc."}, {0x10F4, L"S-MOS Systems"}, {0x10F5, L"NKK Corporation"}, {0x10F6, L"Creative Electronic Systems SA"}, {0x10F7, L"Matsushita Electric Industrial Corp. Ltd."}, {0x10F8, L"Altos India Ltd."}, {0x10F9, L"PC Direct"}, {0x10FA, L"Truevision"}, {0x10FB, L"Thesys Ges. f?r Microelektronik mbH"}, {0x10FC, L"I/O Data Device Inc."}, {0x10FD, L"Soyo Technology Corp. Ltd."}, {0x10FE, L"Fast Electronic GmbH"}, {0x10FF, L"N-Cube"}, {0x1100, L"Jazz Multimedia"}, {0x1101, L"Initio Corporation"}, {0x1102, L"Creative Labs"}, {0x1103, L"Triones Technologies Inc."}, {0x1104, L"Rasterops"}, {0x1105, L"Sigma Designs, Inc."}, {0x1106, L"VIA Technologies"}, {0x1107, L"Stratus Computer"}, {0x1108, L"Proteon Inc."}, {0x1109, L"Cogent Data Technologies"}, {0x110A, L"Siemens AG / Siemens Nixdorf AG"}, {0x110B, L"Xenon Microsystems / Chromatic Research, Inc."}, {0x110C, L"Mini-Max Technology Inc."}, {0x110D, L"ZNyX Corporation"}, {0x110E, L"CPU Technology"}, {0x110F, L"Ross Technology"}, {0x1110, L"Powerhouse Systems"}, {0x1111, L"Santa Cruz Operation (SCO)"}, {0x1112, L"Rockwell / RNS division of Meret Communications Inc."}, {0x1113, L"Accton Technology Corporation"}, {0x1114, L"Atmel Corporation"}, {0x1115, L"DuPont Pixel Systems"}, {0x1116, L"Data Translation / Media 100, Inc."}, {0x1117, L"Datacube Inc."}, {0x1118, L"Berg Electronics"}, {0x1119, L"Vortex Computersysteme GmbH"}, {0x111A, L"Efficient Networks, Inc."}, {0x111B, L"Teledyne Electronic Systems"}, {0x111C, L"Tricord Systems, Inc."}, {0x111D, L"Integrated Device Technology"}, {0x111E, L"Eldec Corporation"}, {0x111F, L"Precision Digital Images"}, {0x1120, L"EMC Corporation"}, {0x1121, L"Zilog"}, {0x1122, L"Multi-tech Systems, Inc."}, {0x1123, L"Excellent Design, Inc."}, {0x1124, L"Leutron Vision AG"}, {0x1125, L"Eurocore"}, {0x1126, L"Vigra"}, {0x1127, L"FORE Systems"}, {0x1128, L"???"}, {0x1129, L"Firmworks"}, {0x112A, L"Hermes Electronics Co."}, {0x112B, L"Linotype - Hell AG"}, {0x112D, L"Ravicad"}, {0x112E, L"Infomedia MicroElectronics Inc"}, {0x112F, L"Imaging Technology"}, {0x1130, L"Computervision"}, {0x1131, L"Philips Semiconductors"}, {0x1132, L"Mitel Corp"}, {0x1133, L"Eicon Technology Corporation"}, {0x1134, L"Mercury Computer Systems Inc"}, {0x1135, L"Fuji Xerox Co Ltd"}, {0x1136, L"Momentum Data Systems"}, {0x1137, L"Cisco Systems Inc"}, {0x1138, L"Ziatech Corporation"}, {0x1139, L"Dynamic Pictures Inc"}, {0x113A, L"FWB Inc"}, {0x113C, L"Cyclone Microsystems (PLX)"}, {0x113D, L"Leading Edge Products Inc"}, {0x113E, L"Sanyo Electric Co. - Computer Engineering Dept."}, {0x113F, L"Equinox Systems"}, {0x1140, L"Intervoice Inc"}, {0x1141, L"Crest Microsystem Inc"}, {0x1142, L"Alliance Semiconductor Corp"}, {0x1143, L"Netpower, Inc."}, {0x1144, L"Cincinnati Milacron / Vickers Inc. Electronic Systems"}, {0x1145, L"Workbit Corp"}, {0x1146, L"Force Computers"}, {0x1147, L"Interface Corp."}, {0x1148, L"Schneider & Koch Co. / Syskonnect"}, {0x1149, L"Win System Corporation"}, {0x114A, L"VMIC"}, {0x114B, L"Canopus Co."}, {0x114C, L"Annabooks"}, {0x114D, L"IC Corporation"}, {0x114E, L"Nikon Systems Inc"}, {0x114F, L"Digi International / Stargate"}, {0x1150, L"Thinking Machines Corp."}, {0x1151, L"JAE Electronics Inc."}, {0x1152, L"Megatek"}, {0x1153, L"Land Win Electronic Corp."}, {0x1154, L"Melco Inc."}, {0x1155, L"Pine Technology Ltd."}, {0x1156, L"Periscope Engineering"}, {0x1157, L"Avsys Corporation"}, {0x1158, L"Voarx R&D Inc."}, {0x1159, L"MuTech"}, {0x115A, L"Harleguin Ltd."}, {0x115B, L"Parallax Graphics"}, {0x115C, L"Photron, Ltd."}, {0x115D, L"Xircom"}, {0x115E, L"Peer Protocols Inc."}, {0x1160, L"Megasoft Inc."}, {0x1161, L"PFU Ltd."}, {0x1162, L"OA Laboratory Co Ltd."}, {0x1163, L"Creative Labs / Rendition"}, {0x1164, L"Advanced Peripherals Tech"}, {0x1165, L"Imagraph Corporation"}, {0x1166, L"Pequr Technology Inc. / Relience Computer"}, {0x1167, L"Mutoh Industries, Inc."}, {0x1168, L"Thine Electronics Inc"}, {0x1169, L"Centre for Development of Advanced Computing"}, {0x116A, L"Polaris Communications"}, {0x116B, L"Connectware Inc"}, {0x116F, L"Workstation Technology"}, {0x1170, L"Inventec Corporation"}, {0x1171, L"Loughborough Sound Images"}, {0x1172, L"Altera Corporation"}, {0x1173, L"Adobe Systems"}, {0x1174, L"Bridgeport Machines"}, {0x1175, L"Mitron Computer Inc."}, {0x1176, L"SBE"}, {0x1177, L"Silicon Engineering"}, {0x1178, L"Alfa Inc"}, {0x1179, L"Toshiba America Info Systems"}, {0x117A, L"A-Trend Technology"}, {0x117B, L"LG Electronics Inc."}, {0x117C, L"Atto Technology"}, {0x117E, L"T/R Systems"}, {0x1180, L"Ricoh Co Ltd"}, {0x1181, L"Telmatics International"}, {0x1183, L"Fujikura Ltd"}, {0x1184, L"Forks Inc"}, {0x1185, L"Dataworld"}, {0x1186, L"D-Link System Inc"}, {0x1187, L"Advanced Technology Laboratories"}, {0x1188, L"Shima Seiki Manufacturing Ltd."}, {0x1189, L"Matsushita Electronics"}, {0x118A, L"Hilevel Technology"}, {0x118C, L"Corollary Inc."}, {0x118D, L"BitFlow Inc. L"}, {0x118E, L"Hermstedt GmbH"}, {0x1191, L"Artop Electric / Acard Technology Corp. L"}, {0x1192, L"Densan Co. Ltd"}, {0x1193, L"Zeitnet Inc."}, {0x1194, L"Toucan Technology"}, {0x1195, L"Ratoc System Inc."}, {0x1196, L"Hytec Electronics Ltd"}, {0x1197, L"Gage Applied Sciences Inc."}, {0x1198, L"Lambda Systems Inc."}, {0x1199, L"Digital Communications Associates Inc,"}, {0x119A, L"Mind Share Inc."}, {0x119B, L"Omega Micro Inc."}, {0x119C, L"Information Technology Inst."}, {0x119D, L"Bug Sapporo Japan"}, {0x119E, L"Fujitsu"}, {0x119F, L"Bull Hn Information Systems"}, {0x11A0, L"Convex Computer Corporation"}, {0x11A1, L"Hamamatsu Photonics K.K."}, {0x11A2, L"Sierra Research and Technology"}, {0x11A3, L"Deuretzbacher GmbH & Co. Eng. KG"}, {0x11A4, L"Barco"}, {0x11A5, L"MicroUnity Systems Engineering, Inc."}, {0x11A6, L"Pure Data"}, {0x11A7, L"Power Computing Corp."}, {0x11A9, L"InnoSys Inc."}, {0x11AA, L"Actel"}, {0x11AB, L"Galileo Technology Ltd."}, {0x11AC, L"Canon Information Systems"}, {0x11AD, L"Lite-On Communications Inc."}, {0x11AE, L"Scitex Corporation Ltd."}, {0x11AF, L"Pro-Log Corporation / Avid Technology Corp."}, {0x11B0, L"V3 Semiconductor Inc."}, {0x11B1, L"Apricot Computers"}, {0x11B2, L"Eastman Kodak"}, {0x11B3, L"Barr Systems Inc."}, {0x11B4, L"Leitch Technology International"}, {0x11B5, L"Radstone Technology Plc"}, {0x11B6, L"United Video Corp"}, {0x11B7, L"Motorola"}, {0x11B8, L"Xpoint Technologies Inc."}, {0x11B9, L"Pathlight Technology Inc."}, {0x11BA, L"Videotron Corp"}, {0x11BB, L"Pyramid Technology"}, {0x11BC, L"Network Peripherals Inc."}, {0x11BD, L"Pinnacle Systems Inc."}, {0x11BE, L"International Microcircuits Inc."}, {0x11BF, L"Astrodesign, Inc."}, {0x11C3, L"NEC Corporation"}, {0x11C4, L"Document Technologies Ind."}, {0x11C5, L"Shiva Corporatin"}, {0x11C6, L"Dainippon Screen Mfg. Co., Ltd."}, {0x11C7, L"D.C.M. Data Systems"}, {0x11C8, L"Dolphin Interconnect Solutions"}, {0x11C9, L"MAGMA"}, {0x11CA, L"LSI Systems Inc."}, {0x11CB, L"Specialix International, Ltd."}, {0x11CC, L"Michels & Kleberhoff Computer GmbH"}, {0x11CD, L"HAL Computer Systems Inc."}, {0x11CE, L"Netaccess"}, {0x11D0, L"Lockheed Martin Federal Systems-Manassas"}, {0x11D2, L"Intercom, Inc."}, {0x11D4, L"Analog Devices"}, {0x11D5, L"Ikon Corp."}, {0x11D9, L"TEC Corp."}, {0x11DA, L"Novell"}, {0x11DB, L"Sega Enterprises, Ltd."}, {0x11DE, L"Zoran Corporation"}, {0x11DF, L"New Wave PDG"}, {0x11E1, L"GEC Plessey Semi Inc."}, {0x11E2, L"Samsung Information Systems Americ"}, {0x11E3, L"Quicklogic Corporation"}, {0x11E4, L"Second Wave Inc."}, {0x11E5, L"IIX Consulting"}, {0x11E6, L"Mitsui-Zosen System Research"}, {0x11E8, L"Digital Processing Systems Inc."}, {0x11EA, L"Elsag Bailey"}, {0x11EB, L"Formation Inc."}, {0x11EC, L"Coreco Inc."}, {0x11ED, L"Mediamatics"}, {0x11EE, L"Dome Imaging Systems Inc."}, {0x11EF, L"Nicolet Technologies B.V."}, {0x11F0, L"Compu-Shack GmbH"}, {0x11F1, L"Symbios Logic Inc."}, {0x11F2, L"Picture Tel Japan K.K."}, {0x11F3, L"Keithley Metrabyte"}, {0x11F4, L"Kinetic Systems Corporation"}, {0x11F5, L"Computing Devices International"}, {0x11F6, L"Powermatic Data Systems Ltd."}, {0x11F6, L"Compex USA, Inc."}, {0x11F7, L"Scientific Atlanta"}, {0x11F8, L"PMC-Sierra Inc."}, {0x11F9, L"I-Cube, Inc."}, {0x1201, L"Vista Controls Corp."}, {0x1203, L"Bayer Corp., AGFA division"}, {0x1204, L"Lattice Semiconductor Corp."}, {0x1205, L"Array Corp."}, {0x1206, L"Amdahl Corp."}, {0x120E, L"Cyclades"}, {0x1216, L"PURUP Eskofot A/S"}, {0x1217, L"O2Micro, Inc."}, {0x121A, L"3DFX Interactive, Inc."}, {0x121B, L"Advanced Telecomm Modules"}, {0x1220, L"Ariel Corporation"}, {0x1221, L"Contec Co., Ltd."}, {0x1222, L"Ancor Communications, Inc."}, {0x1223, L"Heurikon/Computer Products"}, {0x1224, L"Interactive Images"}, {0x1225, L"Power I/O, Inc."}, {0x1227, L"Tech-Source"}, {0x1228, L"Norsk Elektro Optikk A/S"}, {0x1229, L"Data Kinesis Inc."}, {0x122A, L"Integrated Telecom"}, {0x122B, L"LG Industrial Systems Co. Ltd."}, {0x122C, L"Sican GmbH"}, {0x122D, L"Aztech Systems Ltd"}, {0x122E, L"Xyratex"}, {0x122F, L"Andrew Corporation"}, {0x1230, L"Fishcamp Engineering"}, {0x1231, L"Woodward McCoach, Inc."}, {0x1232, L"GPT Limited"}, {0x1233, L"Bus-Tech, Inc."}, {0x1234, L"Technical Corp."}, {0x1235, L"Risq Modular Systems, Inc. / Smart Modular Technologies, Inc."}, {0x1236, L"Sigma Designs Corporation"}, {0x1237, L"Alta Technology Corporation"}, {0x1238, L"Adtran"}, {0x1239, L"The 3DO Company"}, {0x123A, L"Visicom Laboratories, Inc."}, {0x123B, L"Seeq Technology, Inc."}, {0x123C, L"Century Systems, Inc."}, {0x123D, L"Engineering Design Team, Inc."}, {0x123E, L"Sumutech, Inc."}, {0x123F, L"C-Cube Microsystems"}, {0x1240, L"Marathon Technologies Corp."}, {0x1241, L"DSC Communications"}, {0x1243, L"Delphax"}, {0x1244, L"AVM Audiovisuelles Mktg & Computer GmbH"}, {0x1245, L"A.P.D., S.A."}, {0x1246, L"Dipix Technologies, Inc."}, {0x1247, L"Xylon Research, Inc."}, {0x1248, L"Central Data Corporation"}, {0x1249, L"Samsung Electronics Co., Ltd."}, {0x124A, L"AEG Electrocom GmbH"}, {0x124B, L"SBS/Greenspring Modular I/O"}, {0x124C, L"Solitron Technologies, Inc."}, {0x124D, L"Stallion Technologies"}, {0x124E, L"Cylink"}, {0x124F, L"Infortrend Technology, Inc."}, {0x1250, L"Hitachi Microcomputer System, Ltd."}, {0x1251, L"VLSI Solution Oy"}, {0x1253, L"Guzik Technical Enterprises"}, {0x1254, L"Linear Systems Ltd."}, {0x1255, L"Optibase Ltd."}, {0x1256, L"Perceptive Solutions, Inc."}, {0x1257, L"Vertex Networks, Inc."}, {0x1258, L"Gilbarco, Inc."}, {0x1259, L"Allied telesyn International"}, {0x125A, L"ABB Power Systems"}, {0x125B, L"Asix Electronics Corporation"}, {0x125C, L"Aurora Technologies, Inc."}, {0x125D, L"ESS Technology"}, {0x125E, L"SpecialVideo Engineering SRL"}, {0x125F, L"Concurrent Technologies, Inc."}, {0x1260, L"Harris Semiconductor"}, {0x1261, L"Matsushita-Kotobuki Electronics Industries"}, {0x1262, L"ES Computer Company, Ltd."}, {0x1263, L"Sonic Solutions"}, {0x1264, L"Aval Nagasaki Corporation"}, {0x1265, L"Casio Computer Co., Ltd."}, {0x1266, L"Microdyne Corporation"}, {0x1267, L"S.A. Telecommunications"}, {0x1268, L"Tektronix"}, {0x1269, L"Thomson-CSF/TTM"}, {0x126A, L"Lexmark International, Inc."}, {0x126B, L"Adax, Inc."}, {0x126C, L"Northern Telecom"}, {0x126D, L"Splash Technology, Inc."}, {0x126E, L"Sumitomo Metal Industries, Ltd."}, {0x126F, L"Silicon Motion, Inc."}, {0x1270, L"Olympus Optical Co., Ltd."}, {0x1271, L"GW Instruments"}, {0x1272, L"Telematics International"}, {0x1273, L"Hughes Network Systems"}, {0x1274, L"Ensoniq"}, {0x1275, L"Network Appliance Corporation"}, {0x1276, L"Switched Network Tecnologies, Inc."}, {0x1277, L"Comstream"}, {0x1278, L"Transtech Parallel Systems Ltd."}, {0x1279, L"Transmeta Corporation"}, {0x127A, L"Rockwell Semiconductor Systems"}, {0x127B, L"Pixera Corporation"}, {0x127C, L"Crosspoint Solutions, Inc."}, {0x127D, L"Vela Research"}, {0x127E, L"Winnov, L.P."}, {0x127F, L"Fujifilm"}, {0x1280, L"Photoscript Group Ltd."}, {0x1281, L"Yokogawa Electric Corporation"}, {0x1282, L"Davicom Semiconductor, Inc."}, {0x1283, L"Integrated Technology Express, Inc."}, {0x1284, L"Sahara Networks, Inc."}, {0x1285, L"Platform Technologies, Inc."}, {0x1286, L"Mazet GmbH"}, {0x1287, L"M-Pact, Inc. / Luxsonor, Inc."}, {0x1288, L"Timestep Corporation"}, {0x1289, L"AVC Technology, Inc."}, {0x128A, L"Asante Technologies, Inc."}, {0x128B, L"Transwitch Corporation"}, {0x128C, L"Retix Corporation / Sonoma Systems, Inc."}, {0x128D, L"G2 Networks, Inc."}, {0x128C, L"Retix Corp"}, {0x128D, L"???"}, {0x128E, L"Samho Multi Tech Ltd. / Hoon Tech Co., Ltd."}, {0x128F, L"Tateno Dennou, Inc."}, {0x1290, L"Sord Computer Corporation"}, {0x1291, L"NCS Computer Italia"}, {0x1292, L"Tritech Microelectronics, Inc."}, {0x1293, L"Media Reality Technology"}, {0x1294, L"Rhetorex, Inc."}, {0x1295, L"Imagenation Corporation"}, {0x1296, L"Kofax Image Products"}, {0x1297, L"Holco Ent Co, Ltd / Shuttle Computer"}, {0x1298, L"Spellcaster Telecommunications Inc."}, {0x1299, L"Knowledge Technology Lab."}, {0x129A, L"VMetro, Inc."}, {0x129B, L"Image Access"}, {0x129C, L"Jaycor / Xantel Corporation"}, {0x129D, L"Compcore Multimedia, Inc."}, {0x129E, L"Victor Company of Japan, Ltd."}, {0x129F, L"OEC Medical Systems, Inc."}, {0x12A0, L"Allen-Bradley Company"}, {0x12A1, L"Simpact Associates, Inc."}, {0x12A2, L"Newgen Systems Corporation"}, {0x12A3, L"Lucent Technologies"}, {0x12A4, L"NTT Electronics Technology Company"}, {0x12A5, L"Vision Dynamics Ltd."}, {0x12A6, L"Scalable Networks, Inc."}, {0x12A7, L"AMO GmbH"}, {0x12A8, L"News Datacom"}, {0x12A9, L"Xiotech Corporation"}, {0x12AA, L"SDL Communications, Inc."}, {0x12AB, L"Yuan Yuan Enterprise Co., Ltd."}, {0x12AC, L"MeasureX Corporation"}, {0x12AD, L"Multidata GmbH"}, {0x12AE, L"Alteon Networks, inc."}, {0x12AF, L"TDK USA Corporation"}, {0x12B0, L"Jorge Scientific Corporation"}, {0x12B1, L"GammaLink"}, {0x12B2, L"General Signal Networks"}, {0x12B3, L"Inter-Face Co. Ltd."}, {0x12B4, L"FutureTel Inc."}, {0x12B5, L"Granite Systems Inc."}, {0x12B6, L"Natural Microsystems"}, {0x12B7, L"Acumen"}, {0x12B8, L"Korg"}, {0x12B9, L"US Robotics / 3com Corporation"}, {0x12BA, L"PMC Sierra"}, {0x12BB, L"Nippon Unisoft Corporation"}, {0x12BC, L"Array Microsystems"}, {0x12BD, L"Computerm Corp."}, {0x12BE, L"Anchor Chips"}, {0x12BF, L"Fujifilm Microdevices"}, {0x12C0, L"InfiMed"}, {0x12C1, L"GMM Research Corp."}, {0x12C2, L"Mentec Limited"}, {0x12C3, L"Holtek Microelectronics Inc."}, {0x12C4, L"Connect Tech Inc."}, {0x12C5, L"Picture Elements, Inc."}, {0x12C6, L"Mitani Corporation"}, {0x12C7, L"Dialogic Corporation"}, {0x12C8, L"G Force Co, Ltd."}, {0x12C9, L"Gigi Operations"}, {0x12CA, L"Integrated Computing Engines"}, {0x12CB, L"Antex Electronics Corporation"}, {0x12CC, L"Pluto Technologies International"}, {0x12CD, L"Aims Lab"}, {0x12CE, L"Netspeed, Inc."}, {0x12CF, L"Prophet Systems, Inc."}, {0x12D0, L"GDE Systems, Inc."}, {0x12D1, L"Psitech"}, {0x12D2, L"NVIDIA / SGS Thomson"}, {0x12D3, L"Vingmed Sound A/S"}, {0x12D4, L"DGM&S"}, {0x12D5, L"Equator Technologies"}, {0x12D6, L"Analogic Corporation"}, {0x12D7, L"Biotronic SRL"}, {0x12D8, L"Pericom Semiconductor"}, {0x12D9, L"Aculab PLC"}, {0x12DA, L"True Time"}, {0x12DB, L"Annapolis Micro Systems, Inc."}, {0x12DC, L"Symicron Computer Communication Ltd."}, {0x12DD, L"Management Graphics"}, {0x12DE, L"Rainbow Technologies"}, {0x12DF, L"SBS Technologies Inc."}, {0x12E0, L"Chase Research"}, {0x12E1, L"Nintendo Co, Ltd."}, {0x12E2, L"Datum Inc, Bancomm-Timing Division"}, {0x12E3, L"Imation Corp - Medical Imaging Systems"}, {0x12E4, L"Brooktrout Technology Inc."}, {0x12E5, L"Apex Inc / XCD Inc."}, {0x12E6, L"Cirel Systems"}, {0x12E7, L"Sunsgroup Corporation / Sebring Systems"}, {0x12E8, L"CRISC Corporation"}, {0x12E9, L"GE Spacenet"}, {0x12EA, L"Zuken / Real Vision, Inc."}, {0x12EB, L"Aureal Semiconductor"}, {0x12EC, L"3A International, Inc."}, {0x12ED, L"Optivision Inc."}, {0x12EE, L"Orange Micro"}, {0x12EF, L"Vienna Systems"}, {0x12F0, L"Pentek"}, {0x12F1, L"Sorenson Vision Inc."}, {0x12F2, L"GammaGraphx, Inc."}, {0x12F3, L"XING, Inc."}, {0x12F4, L"Megatel"}, {0x12F5, L"Forks"}, {0x12F6, L"Dawson France"}, {0x12F7, L"Cognex"}, {0x12F8, L"Electronic-Design GmbH"}, {0x12F9, L"FourFold Technologies"}, {0x12FB, L"Spectrum Signal Processing"}, {0x12FC, L"Capital Equipment Corp."}, {0x12FD, L"i2S"}, {0x12FE, L"ESD Electronic System Design GmbH"}, {0x12FF, L"Lexicon"}, {0x1300, L"Harman International Industries, Inc."}, {0x1302, L"Computer Sciences Corp."}, {0x1303, L"Innovative Integration"}, {0x1304, L"Juniper Networks"}, {0x1305, L"NetPhone, Inc."}, {0x1306, L"Duet Technologies"}, {0x1307, L"Computer Boards"}, {0x1308, L"Jato Technologies, Inc."}, {0x1309, L"AB Semicon, Ltd."}, {0x130A, L"Mitsubishi Electric MicroComputer"}, {0x130B, L"Colorgraphic Communications Corp."}, {0x130C, L"AMBEX Technologies, Inc."}, {0x130D, L"Accelerix, Inc."}, {0x130E, L"Yamatake-Honeywell Co., Ltd."}, {0x130F, L"Advanet, Inc."}, {0x1310, L"GESPAC"}, {0x1311, L"VideoServer, Inc."}, {0x1312, L"Acuity Imaging, Inc."}, {0x1313, L"Yaskawa Electric Co."}, {0x1316, L"Teradyne, Inc."}, {0x1317, L"Bridgecom, Inc."}, {0x1318, L"Packet Engines, Inc."}, {0x1319, L"ForteMedia, Inc."}, {0x131A, L"Finisar Corp."}, {0x131C, L"Nippon Electro-Sensory Devices Corp."}, {0x131D, L"Sysmic, Inc."}, {0x131E, L"Xinex Networks, Inc."}, {0x131F, L"SIIG, Inc."}, {0x1320, L"Crypto AG"}, {0x1321, L"Arcobel Graphics BV"}, {0x1322, L"MTT Co., Ltd."}, {0x1323, L"DOME, Inc."}, {0x1324, L"Sphere Communications"}, {0x1325, L"Salix Technologies, Inc."}, {0x1326, L"SeaChange International"}, {0x1327, L"Voss Scientific"}, {0x1328, L"Quadrant International"}, {0x1329, L"Productivity Enhancement"}, {0x132A, L"Microcom, Inc."}, {0x132B, L"BroadBand Technologies"}, {0x132C, L"Micrel, Inc."}, {0x132D, L"Integrated Silicon Solution, Inc."}, {0x1330, L"MMC Networks"}, {0x1331, L"RadiSys Corporation"}, {0x1332, L"Micro Memory"}, {0x1333, L"???"}, {0x1334, L"Redcreek Communications, Inc."}, {0x1335, L"Videomail, Inc."}, {0x1336, L"???"}, {0x1337, L"Third Planet Publishing"}, {0x1338, L"BT Electronics"}, {0x133A, L"VTEL Corp."}, {0x133B, L"Softcom Microsystems"}, {0x133C, L"Holontech Corp."}, {0x133D, L"S S Technologies"}, {0x133E, L"Virtual Computer Corp."}, {0x133F, L"SCM Microsystems"}, {0x1340, L"Atalla Corp."}, {0x1341, L"Kyoto Microcomputer Co."}, {0x1342, L"Promax Systems Inc."}, {0x1343, L"Phylon Communications, Inc."}, {0x1344, L"Crucial Technology"}, {0x1345, L"Arescom, Inc."}, {0x1346, L"???"}, {0x1347, L"Odetics"}, {0x1348, L"???"}, {0x1349, L"Sumitomo Electric Industries, Ltd."}, {0x134A, L"DTC Technology Corp."}, {0x134B, L"Ark Research Corp."}, {0x134C, L"Chori Joho System Co., Ltd."}, {0x134D, L"Pctel, Inc."}, {0x134E, L"CSTI"}, {0x134F, L"Algo System Co., Ltd."}, {0x1350, L"Systec Co., Ltd."}, {0x1351, L"Sonix, Inc."}, {0x1353, L"Dassault A.T."}, {0x1354, L"dWave System, Inc."}, {0x1355, L"Kratos Analytical, Ltd."}, {0x1356, L"The Logical Co."}, {0x1359, L"Prisa Networks"}, {0x135A, L"Brain Boxes"}, {0x135B, L"Giganet, Inc."}, {0x135C, L"Quatech, Inc."}, {0x135D, L"ABB Network Partner AB"}, {0x135E, L"Sealevel Systems, Inc."}, {0x135F, L"I-Data International A-S"}, {0x1360, L"Meinberg Funkuhren"}, {0x1361, L"Soliton Systems K.K."}, {0x1362, L"Fujifacom Corp."}, {0x1363, L"Phoenix Technology, Ltd."}, {0x1364, L"ATM Communications, Inc."}, {0x1365, L"Hypercope Corp."}, {0x1366, L"Teijin Seiki Co., Ltd."}, {0x1367, L"Hitachi Zosen Corp."}, {0x1368, L"Skyware Corp."}, {0x1369, L"Digigram"}, {0x136A, L"High Soft Tech"}, {0x136B, L"Kawasaki Steel Corp."}, {0x136C, L"Adtek System Science Co., Ltd."}, {0x136D, L"Gigalabs, Ltd."}, {0x136F, L"Applied Magic, Inc."}, {0x1370, L"ATL Products"}, {0x1371, L"CNET Technology, Inc."}, {0x1373, L"Silicon Vision, Inc."}, {0x1374, L"Silicom, Ltd."}, {0x1375, L"Argosystems, Inc."}, {0x1376, L"LMC"}, {0x1377, L"Electronic Equipment Production"}, {0x1378, L"Telemann Co., Ltd."}, {0x1379, L"Asahi Kasei Microsystems Co., Ltd."}, {0x137A, L"Mark Of The Unicorn, Inc."}, {0x137B, L"PPT Vision"}, {0x137C, L"Iwatsu Electric Co., Ltd."}, {0x137D, L"Dynachip Corp."}, {0x137E, L"Patriot Scientific Corp."}, {0x137F, L"Japan Satellite Systems, Inc."}, {0x1380, L"Sanritz Automation Co., Ltd."}, {0x1381, L"Brains Co., Ltd."}, {0x1382, L"Marian - Electronic & Software"}, {0x1383, L"Controlnet, Inc."}, {0x1384, L"Reality Simulation Systems, Inc."}, {0x1385, L"Netgear"}, {0x1386, L"Video Domain Technologies"}, {0x1387, L"Systran Corp."}, {0x1388, L"Hitachi Information Technology Co., Ltd."}, {0x1389, L"Applicom International"}, {0x138A, L"Fusion Micromedia Corp."}, {0x138B, L"Tokimec, Inc."}, {0x138C, L"Silicon Reality"}, {0x138D, L"Future Techno Designs Pte., Ltd."}, {0x138E, L"Basler GmbH"}, {0x138F, L"Patapsco Designs, Inc."}, {0x1390, L"Concept Development, Inc."}, {0x1391, L"Development Concepts, Inc."}, {0x1392, L"Medialight, Inc."}, {0x1394, L"Level One Communications"}, {0x1395, L"Ambicom, Inc."}, {0x1396, L"Cipher Systems, Inc."}, {0x1397, L"Cologne Chip Designs GmbH"}, {0x1398, L"Clarion Co., Ltd."}, {0x1399, L"Rios Systems Co., Ltd."}, {0x139A, L"Alacritech, Inc."}, {0x139B, L"Mediasonic Multimedia Systems, Ltd."}, {0x139C, L"Quantum 3D, Inc."}, {0x139D, L"EPL, Ltd."}, {0x139E, L"Media4"}, {0x139F, L"Aethra S.R.L."}, {0x13A0, L"Crystal Group, Inc."}, {0x13A1, L"Kawasaki Heavy Industries, Ltd."}, {0x13A2, L"Ositech Communications, Inc."}, {0x13A3, L"HI-FN"}, {0x13A4, L"Rascom, Inc."}, {0x13A5, L"Audio Digital Imaging, Inc."}, {0x13A6, L"Videonics, Inc."}, {0x13A7, L"Teles AG"}, {0x13A8, L"Exar Corp."}, {0x13A9, L"Ultrasound Group"}, {0x13AA, L"Broadband Networks, Inc."}, {0x13AB, L"Arcom Control Systems, Ltd."}, {0x13AC, L"Motion Media Technology, Ltd."}, {0x13AD, L"Nexus, Inc."}, {0x13AE, L"ALD Technology, Ltd."}, {0x13AF, L"T.Sqware"}, {0x13B0, L"Maxspeed Corp."}, {0x13B1, L"Tamura Corp."}, {0x13B2, L"Techno Chips Co., Ltd."}, {0x13B3, L"Lanart Corp."}, {0x13B4, L"Wellbean Co, Inc."}, {0x13B5, L"ARM"}, {0x13B6, L"DLoG GmbH"}, {0x13B7, L"LOGIC Devices, Inc."}, {0x13B8, L"Nokia Telecommunications Oy"}, {0x13B9, L"Elecom Co., Ltd."}, {0x13BA, L"Oxford Instruments"}, {0x13BB, L"Sanyo Technosound Co., Ltd."}, {0x13BC, L"Bitran Corp."}, {0x13BD, L"Sharp Corp."}, {0x13BE, L"Miroku Jyoho Service Co., Ltd."}, {0x13BF, L"Sharewave., Inc."}, {0x13C0, L"Microgate Corp."}, {0x13C1, L"3ware Inc."}, {0x13C2, L"Technotrend Systemtechnik GmbH"}, {0x13C3, L"Janz Computer AG"}, {0x13C4, L"Phase Metrics"}, {0x13C5, L"Alphi Technology Corp."}, {0x13C6, L"Condor Engineering, Inc."}, {0x13C7, L"Blue Chip Technology, Ltd."}, {0x13C8, L"Apptech, Inc."}, {0x13C9, L"Eaton Corp."}, {0x13CA, L"IOMEGA Corp."}, {0x13CB, L"Yano Electric Co., Ltd."}, {0x13CC, L"Metheus Corp."}, {0x13CD, L"Compatible Systems Corp."}, {0x13CE, L"Cocom A/S"}, {0x13CF, L"Studio Audio & Video, Ltd."}, {0x13D0, L"Techsan Electronics Co., Ltd."}, {0x13D1, L"Abocom Systems, Inc."}, {0x13D2, L"Shark Multimedia, Inc."}, {0x13D3, L"IMC Networks"}, {0x13D4, L"Graphics Microsystems, Inc."}, {0x13D5, L"Media 100, Inc."}, {0x13D6, L"K.I. Technology Co., Inc."}, {0x13D7, L"Toshiba Engineering Corp."}, {0x13D8, L"Phobos Corp."}, {0x13D9, L"Apex PC Solutions, Inc."}, {0x13DA, L"Intresource Systems Pte., Ltd."}, {0x13DB, L"Janich & Klass Computertechnik GmbH"}, {0x13DC, L"Netboost Corp."}, {0x13DD, L"Multimedia Bundle, Inc."}, {0x13DE, L"ABB Robotics Products AB"}, {0x13DF, L"E-Tech, Inc."}, {0x13E0, L"GVC Corp."}, {0x13E1, L"Silicom Multimedia Systems, Inc."}, {0x13E2, L"Dynamics Research Corp."}, {0x13E3, L"Nest, Inc."}, {0x13E4, L"Calculex, Inc."}, {0x13E5, L"Telesoft Design, Ltd."}, {0x13E6, L"Argosy Research, Inc."}, {0x13E7, L"NAC, Inc."}, {0x13E8, L"Chip Express Corp."}, {0x13E9, L"Intraserver Technology, Inc."}, {0x13EA, L"Dallas Semiconductor"}, {0x13EB, L"Hauppauge Computer Works, Inc."}, {0x13EC, L"Zydacron, Inc."}, {0x13ED, L"Raytheion E-Systems"}, {0x13EE, L"Hayes Microcomputer Products, Inc."}, {0x13F0, L"Sundance Technology, Inc."}, {0x13F1, L"Oce' - Technologies B.V."}, {0x13F2, L"Ford Microelectronics, Inc."}, {0x13F3, L"McData Corp."}, {0x13F4, L"Troika Design, Inc."}, {0x13F5, L"Kansai Electric Co., Ltd."}, {0x13F6, L"C-Media Electronics, Inc."}, {0x13F7, L"Wildfire Communications"}, {0x13F8, L"Ad Lib Multimedia, Inc."}, {0x13F9, L"NTT Advanced Technology Corp."}, {0x13FA, L"Pentland Systems, Ltd."}, {0x13FB, L"Aydin Corp."}, {0x13FC, L"Computer Peripherals International"}, {0x13FD, L"Micro Science, Inc."}, {0x13FE, L"Advantech Co., Ltd."}, {0x13FF, L"Silicon Spice, Inc."}, {0x1400, L"ARTX, Inc."}, {0x1401, L"CR-Systems A/S"}, {0x1402, L"Meilhaus Electronic GmbH"}, {0x1403, L"Ascor, Inc."}, {0x1404, L"Fundamental Software, Inc."}, {0x1405, L"Excalibur Systems, Inc."}, {0x1406, L"Oce' Printing Systems GmbH"}, {0x1407, L"Lava Computer Mfg., Inc."}, {0x1408, L"Aloka Co., Ltd."}, {0x1409, L"Timedia Technology Co., Ltd."}, {0x140A, L"DSP Research, Inc."}, {0x140B, L"Ramix, Inc."}, {0x140C, L"Elmic Systems, Inc."}, {0x140D, L"Matsushita Electrics Works, Ltd."}, {0x140E, L"Goepel Electronic GmbH"}, {0x140F, L"Salient Systems Corp."}, {0x1410, L"Midas Lab, Inc."}, {0x1411, L"Ikos Systems, Inc."}, {0x1412, L"IC Ensemble, Inc."}, {0x1413, L"Addonics"}, {0x1414, L"Microsoft"}, {0x1415, L"Oxford Semiconductor, Ltd."}, {0x1416, L"Multiwave Innovation Pte, Ltd."}, {0x1417, L"Convergenet Technologies, Inc."}, {0x1418, L"Kyushu Electronics Systems, Inc."}, {0x1419, L"Excel Switching Corp."}, {0x141A, L"Apache Micro Peripherals, Inc."}, {0x141B, L"Zoom Telephonics, Inc."}, {0x141D, L"Digitan Systems, Inc."}, {0x141E, L"Fanuc, Ltd."}, {0x141F, L"Visiontech, Ltd."}, {0x1420, L"Psion Dacom PLC"}, {0x1421, L"ADS Technologies, Inc."}, {0x1422, L"Ygrec Systems Co., Ltd."}, {0x1423, L"Custom Technology Corp."}, {0x1424, L"Vidoeserver Connections"}, {0x1425, L"ASIC Designers, Inc."}, {0x1426, L"Storage Technology Corp."}, {0x1427, L"Better On-line Solutions"}, {0x1428, L"EDEC Co., Ltd."}, {0x1429, L"UNEX Technology Corp."}, {0x142A, L"Kingmax Technology, Inc."}, {0x142B, L"RadioLAN"}, {0x142C, L"Minton Optic Industry Co., Ltd."}, {0x142D, L"Pix Stream, Inc."}, {0x142E, L"Vitec Multimedia"}, {0x142F, L"Radicom Research, Inc."}, {0x1430, L"ITT Aerospace/Communications Division"}, {0x1431, L"Gilat Satellite Networks"}, {0x1432, L"Edimax Computer Co."}, {0x1433, L"Eltec Elektronik GmbH"}, {0x1435, L"Real Time Devices US, Inc."}, {0x1436, L"CIS Technology, Inc."}, {0x1437, L"Nissin Co Inc"}, {0x1438, L"Atmel-Dream"}, {0x1439, L"Outsource Engineering & Mfg. Inc"}, {0x143A, L"Stargate Solutions Inc"}, {0x143B, L"Canon Research Center, America"}, {0x143C, L"Amlogic Inc"}, {0x143D, L"Tamarack Microelectronics Inc"}, {0x143F, L"Lightwell Co Ltd - Zax Division"}, {0x1440, L"Algol Corp"}, {0x1441, L"AGIE LTD"}, {0x1442, L"Phoenix Contact Co GmbH"}, {0x1443, L"Unibrain S.A."}, {0x1444, L"TRW"}, {0x1445, L"Logical do Ltd"}, {0x1447, L"AIM GmbH"}, {0x1448, L"Alesis Studio"}, {0x1449, L"TUT Systems Inc"}, {0x144A, L"Adlink Technology"}, {0x144B, L"Loronix Information Systems Inc"}, {0x144C, L"Catalina Research Inc"}, {0x144E, L"Olitec"}, {0x144F, L"Askey Computer Corp"}, {0x1450, L"Nexus Systems Inc"}, {0x1451, L"SP3D Chip Design GmbH"}, {0x1453, L"Mycom Inc"}, {0x1454, L"Altiga Networks"}, {0x1455, L"Logic Plus Plus Inc"}, {0x1456, L"Advanced Hardware"}, {0x1457, L"Nuera Communications Inc"}, {0x1458, L"Giga-Byte Technology"}, {0x1459, L"Dooin Electronics"}, {0x145A, L"Escalate Networks Inc"}, {0x145B, L"Praim SRL"}, {0x145C, L"Cryptek"}, {0x145D, L"Gallant Computer Inc"}, {0x145E, L"Aashima Technology B.V."}, {0x145F, L"Baldor Electric Company"}, {0x1460, L"Dynarc Inc"}, {0x1461, L"Avermedia Technologies Inc"}, {0x1462, L"Micro-Star International Co Ltd"}, {0x1463, L"Fast Corp"}, {0x1464, L"Interactive Circuits & Systems Ltd"}, {0x1465, L"GN Nettest Telecom Div."}, {0x1466, L"Designpro Inc"}, {0x1467, L"Digicom SPA"}, {0x1468, L"Ambit microsystem Corp"}, {0x1469, L"Cleveland Motion Controls"}, {0x146A, L"IFR Ltd"}, {0x146B, L"Parascan Technologies Ltd"}, {0x146C, L"Ruby Tech Corp"}, {0x146D, L"Tachyon Inc"}, {0x146E, L"Williams Electronic Games Inc"}, {0x146F, L"Multi Dimensional Consulting Inc"}, {0x1470, L"Bay Networks"}, {0x1471, L"Integrated Telecom Express Inc"}, {0x1472, L"Daikin Indistries Ltd"}, {0x1473, L"Zapex Technologies Inc"}, {0x1474, L"Doug Carson & Associates"}, {0x1475, L"Picazo Communications"}, {0x1476, L"Mortara Instrument Inc"}, {0x1477, L"Net Insight"}, {0x1478, L"Diatrend Corp"}, {0x1479, L"Toray Industries Inc"}, {0x147A, L"Formosa Industrial Computing"}, {0x147B, L"Abit Computer Corp"}, {0x147C, L"Aware Inc"}, {0x147D, L"Interworks Computer Products"}, {0x147E, L"Matsushita Graphic Communication Systems Inc"}, {0x147F, L"Nihon Unisys Ltd"}, {0x1480, L"SCII Telecom"}, {0x1481, L"Biopac Systems Inc"}, {0x1482, L"ISYTEC"}, {0x1483, L"Labway Corp"}, {0x1668, L"Action Tec Electronics, Inc."}, {0x1A03, L"ASPEED Technology Inc."}, {0x1A08, L"Sierra Semiconductor"}, {0x1B13, L"Jaton Corp."}, {0x1C1C, L"Symphony"}, {0x1D44, L"DPT"}, {0x1DE1, L"TekRAM"}, {0x21C3, L"21st Century Computer Corp."}, {0x2348, L"Racore"}, {0x270B, L"Xantel Corp."}, {0x270F, L"Chaintech Computer Co., Ltd."}, {0x3000, L"Hansol Electronics Inc."}, {0x3142, L"Post Impression Systems"}, {0x3388, L"Hint Corp."}, {0x3D3D, L"3DLabs"}, {0x4005, L"Avance Logic, Inc."}, {0x4444, L"Internext Compression, Inc."}, {0x4468, L"BRIDGEPORT MACHINES"}, {0x4594, L"Cogetec Informatique Inc."}, {0x4680, L"UMAX Computer Corp."}, {0x4843, L"Hercules Computer Technology, Inc."}, {0x4942, L"???"}, {0x4943, L"Growth Networks"}, {0x4978, L"Axil Computer, Inc."}, {0x4A14, L"NetVin"}, {0x4B10, L"Buslogic Inc."}, {0x4C48, L"Lung Hwa Electronics"}, {0x4D51, L"Mediaq Inc"}, {0x4DDC, L"ILC data Device Corp."}, {0x5053, L"Voyetra Technologies"}, {0x5143, L"Qualcomm, Inc."}, {0x5333, L"S3"}, {0x5455, L"Technische Universit?t Berlin"}, {0x5519, L"Cnet Technologies, Inc."}, {0x5555, L"Genroco Inc"}, {0x5700, L"Netpower"}, {0x6356, L"UltraStor"}, {0x6374, L"c't Magazin fuer Computertechnik"}, {0x6409, L"Logitec Corp"}, {0x6666, L"Decision Computer International Co."}, {0x7604, L"O.N. Electric Co Ltd"}, {0x8008, L"Quancom Electronic GmbH L"}, {0x8086, L"Intel"}, {0x8800, L"Trigem Computer L"}, {0x8866, L"T-Square Design Inc"}, {0x8888, L"Silicon Magic"}, {0x8E0E, L"Computone Corporation"}, {0x8E2E, L"KTI"}, {0x9004, L"Adaptec"}, {0x9005, L"Adaptec"}, {0x907F, L"Atronics"}, {0x9412, L"Holtek"}, {0xA200, L"NEC Corp."}, {0xA259, L"Hewlett Packard"}, {0xA25B, L"Hewlett Packard GmbH PL24-MKT"}, {0xA304, L"Sony"}, {0xA727, L"3com Corp."}, {0xAA42, L"Scitex Digital Video"}, {0xB1B3, L"Shiva Europe, Ltd."}, {0xC001, L"TSI Telsys"}, {0xC0A9, L"Micron/Crucial Technology"}, {0xC0DE, L"Motorola"}, {0xC0FE, L"Motion Engineering, Inc."}, {0xCAFE, L"Chrysalis-ITS"}, {0xD4D4, L"DY4 Systems Inc."}, {0xE159, L"Tiger Jet Network Inc."}, {0xE000, L"Winbond"}, {0xE159, L"Tiger Jet Network Inc."}, {0xECC0, L"Echo Corp."}, {0xEDD8, L"Ark Logic Inc."}, {0xFEDA, L"Epigram Inc."}, }; //Use this value for loop control during searching: #define PCI_VENTABLE_LEN (sizeof(PciVenTable) / sizeof(PCI_VENTABLE)) #endif
PciClassInfo.h
#ifndef _PCI_CLASS_INFO_H_ #define _PCI_CLASS_INFO_H_ typedef struct _PCI_CLASSCODETABLE { UINT8 BaseClass; UINT8 SubClass; UINT8 ProgIf; UINT16 *BaseDesc; UINT16 *SubDesc; UINT16 *ProgDesc; }PCI_CLASSCODETABLE, *PPCI_CLASSCODETABLE; PCI_CLASSCODETABLE PciClassCodeTable [] = { { 0x00, 0x00, 0x00, L"Pre-2.0 PCI", L"Non-VGA",L"" } , { 0x00, 0x01, 0x00, L"Pre-2.0 PCI", L"VGA Compatible", L"" } , { 0x01, 0x00, 0x00, L"Mass Storage", L"SCSI", L"" } , { 0x01, 0x01, 0x00, L"Mass Storage", L"IDE", L"" } , { 0x01, 0x02, 0x00, L"Mass Storage", L"Floppy", L"" } , { 0x01, 0x03, 0x00, L"Mass Storage", L"IPI", L"" } , { 0x01, 0x04, 0x00, L"Mass Storage", L"RAID", L"" } , { 0x01, 0x05, 0x20, L"Mass Storage", L"ATA controller with single DMA", L"" } , { 0x01, 0x05, 0x30, L"Mass Storage", L"ATA controller with chained DMA", L"" } , { 0x01, 0x06, 0x00, L"Mass Storage", L"Vendor specific", L"" } , { 0x01, 0x06, 0x01, L"Mass Storage", L"AHCI 1.0", L"" } , { 0x01, 0x07, 0x00, L"Mass Storage", L"Serial Attached SCSI", L"" } , { 0x01, 0x08, 0x00, L"Mass Storage", L"NVM", L"" } , { 0x01, 0x80, 0x00, L"Mass Storage", L"Other", L"" } , { 0x02, 0x00, 0x00, L"Network Controller", L"Ethernet", L"" } , { 0x02, 0x01, 0x00, L"Network Controller", L"Token Ring", L"" } , { 0x02, 0x02, 0x00, L"Network Controller", L"FDDI", L"" } , { 0x02, 0x03, 0x00, L"Network Controller", L"ATM", L"" } , { 0x02, 0x04, 0x00, L"Network Controller", L"ISDN", L"" } , { 0x02, 0x05, 0x00, L"Network Controller", L"WorldFip", L"" } , { 0x02, 0x06, 0x00, L"Network Controller", L"PICMG 2.14 Nulti Computing", L"" } , { 0x02, 0x80, 0x00, L"Network Controller", L"Other", L"" } , { 0x03, 0x00, 0x00, L"Display Controller", L"PC Compatible", L"VGA" } , { 0x03, 0x00, 0x01, L"Display Controller", L"PC Compatible", L"8514" } , { 0x03, 0x01, 0x00, L"Display Controller", L"XGA", L"" } , { 0x03, 0x02, 0x00, L"Display Controller", L"3D Controller", L"" } , { 0x03, 0x80, 0x00, L"Display Controller", L"Other", L"" } , { 0x04, 0x00, 0x00, L"Multimedia Device", L"Video", L"" } , { 0x04, 0x01, 0x00, L"Multimedia Device", L"Audio", L"" } , { 0x04, 0x02, 0x00, L"Multimedia Device", L"Computer Telephony Device", L"" } , { 0x04, 0x03, 0x00, L"Multimedia Device", L"Audio Device", L"" } , { 0x04, 0x80, 0x00, L"Multimedia Device", L"Other", L"" } , { 0x05, 0x00, 0x00, L"Memory Controller", L"RAM", L"" } , { 0x05, 0x01, 0x00, L"Memory Controller", L"Flash", L"" } , { 0x05, 0x80, 0x00, L"Memory Controller", L"Other", L"" } , { 0x06, 0x00, 0x00, L"Bridge Device", L"Host Bridge", L"" } , { 0x06, 0x01, 0x00, L"Bridge Device", L"ISA Bridge", L"" } , { 0x06, 0x02, 0x00, L"Bridge Device", L"EISA Bridge", L"" } , { 0x06, 0x03, 0x00, L"Bridge Device", L"MCA Bridge", L"" } , { 0x06, 0x04, 0x00, L"Bridge Device", L"PCI-to-PCI Bridge", L"" } , { 0x06, 0x04, 0x01, L"Bridge Device", L"PCI-to-PCI Bridge", L"Subtractive Decode" } , { 0x06, 0x05, 0x00, L"Bridge Device", L"PCMCIA Bridge", L"" } , { 0x06, 0x06, 0x00, L"Bridge Device", L"NuBus Bridge", L"" } , { 0x06, 0x07, 0x00, L"Bridge Device", L"CardBus Bridge", L"" } , { 0x06, 0x08, 0x00, L"Bridge Device", L"RACEway Bridge", L"" } , { 0x06, 0x09, 0x40, L"Bridge Device", L"PCI-to-PCI Bridge", L"Primary" } , { 0x06, 0x09, 0x80, L"Bridge Device", L"PCI-to-PCI Bridge", L"Secondary" } , { 0x06, 0x0A, 0x00, L"Bridge Device", L"InfiniBrand-to-PCI Host Bridge", L"" } , { 0x06, 0x80, 0x00, L"Bridge Device", L"Other", L"" } , { 0x07, 0x00, 0x00, L"Simple Communications", L"Serial", L"Generic XT Compatible" } , { 0x07, 0x00, 0x01, L"Simple Communications", L"Serial", L"16450 Compatible" } , { 0x07, 0x00, 0x02, L"Simple Communications", L"Serial", L"16550 Compatible" } , { 0x07, 0x00, 0x03, L"Simple Communications", L"Serial", L"16650 Compatible" } , { 0x07, 0x00, 0x04, L"Simple Communications", L"Serial", L"16750 Compatible" } , { 0x07, 0x00, 0x05, L"Simple Communications", L"Serial", L"16850 Compatible" } , { 0x07, 0x00, 0x06, L"Simple Communications", L"Serial", L"16950 Compatible" } , { 0x07, 0x01, 0x00, L"Simple Communications", L"Parallel", L"Standard" } , { 0x07, 0x01, 0x01, L"Simple Communications", L"Parallel", L"Bi-Directional" } , { 0x07, 0x01, 0x02, L"Simple Communications", L"Parallel", L"ECP 1.X Compliant" } , { 0x07, 0x01, 0x03, L"Simple Communications", L"Parallel", L"IEEE 1284 Controller" } , { 0x07, 0x01, 0xFE, L"Simple Communications", L"Parallel", L"IEEE 1284 Target Device" } , { 0x07, 0x02, 0x00, L"Simple Communications", L"Multiport Serial Controller", L"" } , { 0x07, 0x03, 0x00, L"Simple Communications", L"Generic Modem", L"" } , { 0x07, 0x03, 0x01, L"Simple Communications", L"Hayes Compatible Modem", L"16450 Compatible" } , { 0x07, 0x03, 0x02, L"Simple Communications", L"Hayes Compatible Modem", L"16550 Compatible" } , { 0x07, 0x03, 0x03, L"Simple Communications", L"Hayes Compatible Modem", L"16650 Compatible" } , { 0x07, 0x03, 0x04, L"Simple Communications", L"Hayes Compatible Modem", L"16750 Compatible" } , { 0x07, 0x04, 0x00, L"Simple Communications", L"IEEE 488.1/2 (GPIB)", L"" } , { 0x07, 0x05, 0x00, L"Simple Communications", L"Smart Card", L"" } , { 0x07, 0x80, 0x02, L"Simple Communications", L"Other", L"" } , { 0x08, 0x00, 0x00, L"Base Systems Peripheral", L"PIC (Programmable Interrupt Controller)", L"Generic 8259" } , { 0x08, 0x00, 0x01, L"Base Systems Peripheral", L"PIC (Programmable Interrupt Controller)", L"ISA" } , { 0x08, 0x00, 0x02, L"Base Systems Peripheral", L"PIC (Programmable Interrupt Controller)", L"PCI" } , { 0x08, 0x00, 0x10, L"Base Systems Peripheral", L"I/O APIC Interrupt Controller", L"" } , { 0x08, 0x00, 0x20, L"Base Systems Peripheral", L"I/O(x) APIC Interrupt Controller", L"" } , { 0x08, 0x01, 0x00, L"Base Systems Peripheral", L"DMA (Direct Memory Access)", L"Generic 8259" } , { 0x08, 0x01, 0x01, L"Base Systems Peripheral", L"DMA (Direct Memory Access)", L"ISA" } , { 0x08, 0x01, 0x02, L"Base Systems Peripheral", L"DMA (Direct Memory Access)", L"EISA" } , { 0x08, 0x02, 0x00, L"Base Systems Peripheral", L"System Timer", L"Generic 8259" } , { 0x08, 0x02, 0x01, L"Base Systems Peripheral", L"System Timer", L"ISA" } , { 0x08, 0x02, 0x02, L"Base Systems Peripheral", L"System Timer", L"EISA" } , { 0x08, 0x03, 0x00, L"Base Systems Peripheral", L"RTC (Real Time Clock)", L"Generic" } , { 0x08, 0x03, 0x01, L"Base Systems Peripheral", L"RTC (Real Time Clock)", L"ISA" } , { 0x08, 0x04, 0x00, L"Base Systems Peripheral", L"Generic PCI Hot-Plug Controller", L"" } , { 0x08, 0x05, 0x00, L"Base Systems Peripheral", L"SD Host Controller", L"" } , { 0x08, 0x06, 0x00, L"Base Systems Peripheral", L"IOMMU", L"" } , { 0x08, 0x80, 0x00, L"Base Systems Peripheral", L"Other", L"" } , { 0x09, 0x00, 0x00, L"Input Device", L"Keyboard", L"" } , { 0x09, 0x01, 0x00, L"Input Device", L"Digitizer (Pen)", L"" } , { 0x09, 0x02, 0x00, L"Input Device", L"Mouse", L"" } , { 0x09, 0x03, 0x00, L"Input Device", L"Scanner", L"" } , { 0x09, 0x04, 0x00, L"Input Device", L"Gameport", L"Generic" } , { 0x09, 0x04, 0x01, L"Input Device", L"Gameport", L"Legacy" } , { 0x09, 0x80, 0x00, L"Input Device", L"Other", L"" } , { 0x0A, 0x00, 0x00, L"Docking Station", L"Generic", L"" } , { 0x0A, 0x80, 0x00, L"Docking Station", L"Other", L"" } , { 0x0B, 0x00, 0x00, L"Processor", L"i386", L"" } , { 0x0B, 0x01, 0x00, L"Processor", L"i486", L"" } , { 0x0B, 0x02, 0x00, L"Processor", L"Pentium", L"" } , { 0x0B, 0x10, 0x00, L"Processor", L"Alpha", L"" } , { 0x0B, 0x20, 0x00, L"Processor", L"Power PC", L"" } , { 0x0B, 0x30, 0x00, L"Processor", L"MIPS", L"" } , { 0x0B, 0x40, 0x00, L"Processor", L"Co-processor", L"" } , { 0x0C, 0x00, 0x00, L"Serial Bus", L"Firewire (IEEE 1394)", L"Generic" } , { 0x0C, 0x00, 0x10, L"Serial Bus", L"Firewire (IEEE 1394)", L"OHCI" } , { 0x0C, 0x01, 0x00, L"Serial Bus", L"ACCESS.bus", L"" } , { 0x0C, 0x02, 0x00, L"Serial Bus", L"SSA (Serial Storage Archetecture)", L"" } , { 0x0C, 0x03, 0x00, L"Serial Bus", L"USB controller", L"UHCI" } , { 0x0C, 0x03, 0x10, L"Serial Bus", L"USB controller", L"OHCI" } , { 0x0C, 0x03, 0x20, L"Serial Bus", L"USB controller", L"EHCI" } , { 0x0C, 0x03, 0x30, L"Serial Bus", L"USB controller", L"XHCI" } , { 0x0C, 0x03, 0x30, L"Serial Bus", L"USB controller", L"Unspecified" } , { 0x0C, 0x03, 0xFE, L"Serial Bus", L"USB controller", L"USB Device" } , { 0x0C, 0x04, 0x00, L"Serial Bus", L"Fibre Channel", L"" } , { 0x0C, 0x05, 0x00, L"Serial Bus", L"SMBus", L"" } , { 0x0C, 0x06, 0x00, L"Serial Bus", L"InfiniBand", L"" } , { 0x0C, 0x07, 0x00, L"Serial Bus", L"IPMI SMIC Interface", L"" } , { 0x0C, 0x08, 0x00, L"Serial Bus", L"SERCOS Interface", L"" } , { 0x0C, 0x09, 0x00, L"Serial Bus", L"CANBUS", L"" } , { 0x0D, 0x00, 0x00, L"Wireless Controllers", L"iRDA Compatible Controller", L""}, { 0x0D, 0x01, 0x00, L"Wireless Controllers", L"Consumer IR Controller", L""}, { 0x0D, 0x10, 0x00, L"Wireless Controllers", L"RF Controller", L""}, { 0x0D, 0x11, 0x00, L"Wireless Controllers", L"Bluetooth Controller", L""}, { 0x0D, 0x12, 0x00, L"Wireless Controllers", L"Broadband Controller", L""}, { 0x0D, 0x20, 0x00, L"Wireless Controllers", L"Ethernet Controller (802.11a)", L""}, { 0x0D, 0x21, 0x00, L"Wireless Controllers", L"Ethernet Controller (802.11b)", L""}, { 0x0D, 0x80, 0x00, L"Wireless Controllers", L"Other Wireless Controller", L""}, { 0x0E, 0x00, 0x00, L"Intelligent I/O Controllers", L"I20 Architecture", L""}, { 0x0F, 0x01, 0x00, L"Satellite Communication", L"TV Controller", L""}, { 0x0F, 0x02, 0x00, L"Satellite Communication", L"Audio Controller", L""}, { 0x0F, 0x03, 0x00, L"Satellite Communication", L"Video Controller", L""}, { 0x0F, 0x04, 0x00, L"Satellite Communication", L"Data Controller", L""}, { 0x10, 0x00, 0x00, L"Encryption/Decryption", L"Network and Computing Encrpytion/Decryption", L""}, { 0x10, 0x10, 0x00, L"Encryption/Decryption", L"Entertainment Encrpytion/Decryption", L""}, { 0x10, 0x80, 0x00, L"Encryption/Decryption", L"Other Encrpytion/Decryption", L""}, { 0x11, 0x00, 0x00, L"Data Acquisition & Signal Processing", L"DPIO Modules", L""}, { 0x11, 0x01, 0x00, L"Data Acquisition & Signal Processing", L"Performance Counters", L""}, { 0x11, 0x10, 0x00, L"Data Acquisition & Signal Processing", L"Communications Syncrhonization", L""}, { 0x11, 0x20, 0x00, L"Data Acquisition & Signal Processing", L"Signal processing Management", L""}, { 0x11, 0x80, 0x00, L"Data Acquisition & Signal Processing", L"Signal Processing Controller", L""}, { 0xFF, 0x00, 0x00, L"Unknown", L"Device Does Not Fit In Class Codes", L"UDF" } , }; // Use this value for loop control during searching: #define PCI_CLASSCODETABLE_LEN (sizeof(PciClassCodeTable) / sizeof(PCI_CLASSCODETABLE)) #endif
Execution result shows the vendor, vendor ID, device ID and device information:
Fig. 1. Result. |
Note: I typed the LsPciDev.efi > LsPciDev.txt command under shell. Thus, I just open the LsPciDev.txt to show the result for you.
Reference:
1. PCI_Configuration_Space
2. UEFI Spec.
沒有留言:
張貼留言