diff --git a/src/add-ons/kernel/bus_managers/pci/pcihdr.h b/src/add-ons/kernel/bus_managers/pci/pcihdr.h index 36f7143665..b50b9de952 100644 --- a/src/add-ons/kernel/bus_managers/pci/pcihdr.h +++ b/src/add-ons/kernel/bus_managers/pci/pcihdr.h @@ -1,36 +1,36 @@ -#if 0 -PCIHDR.H: PCI Vendors, Devices, and Class Type information - - Created automatically from the web using the following URL: - http://www.yourvote.com/pci - Software to create and maintain the PCICODE List written by: - Jim Boemler (jboemler@halcyon.com) - +#if 0 +PCIHDR.H: PCI Vendors, Devices, and Class Type information + + Created automatically from the web using the following URL: + http://www.yourvote.com/pci + Software to create and maintain the PCICODE List written by: + Jim Boemler (jboemler@halcyon.com) + This header created on Mon, 30 Jun 2003 23:35:37 UTC - -Too many people have contributed to this list to acknowledge them all, but -a few have provided the majority of the input and deserve special mention: - Frederic Potter, who maintains a list for Linux. - Chris Aston at Madge Networks. - Thomas Dippon of Hewlett-Packard GmbH. - Jurgen ("Josh") Thelen - William H. Avery III at Altitech - Sergei Shtylyov of Brain-dead Software in Russia -#endif - -// NOTE that the 0xFFFF of 0xFF entries at the end of some tables below are -// not properly list terminators, but are actually the printable definitions -// of values that are legitimately found on the PCI bus. The size -// definitions should be used for loop control when the table is searched. - -typedef struct _PCI_VENTABLE -{ - unsigned short VenId ; - char * VenShort ; - char * VenFull ; -} PCI_VENTABLE, *PPCI_VENTABLE ; - -PCI_VENTABLE PciVenTable [] = + +Too many people have contributed to this list to acknowledge them all, but +a few have provided the majority of the input and deserve special mention: + Frederic Potter, who maintains a list for Linux. + Chris Aston at Madge Networks. + Thomas Dippon of Hewlett-Packard GmbH. + Jurgen ("Josh") Thelen + William H. Avery III at Altitech + Sergei Shtylyov of Brain-dead Software in Russia +#endif + +// NOTE that the 0xFFFF of 0xFF entries at the end of some tables below are +// not properly list terminators, but are actually the printable definitions +// of values that are legitimately found on the PCI bus. The size +// definitions should be used for loop control when the table is searched. + +typedef struct _PCI_VENTABLE +{ + unsigned short VenId ; + char * VenShort ; + char * VenFull ; +} PCI_VENTABLE, *PPCI_VENTABLE ; + +PCI_VENTABLE PciVenTable [] = { { 0x0000, "Gammagraphx", "Gammagraphx, Inc." } , { 0x0033, "", "Paradyne Corp." } , @@ -1649,20 +1649,19 @@ PCI_VENTABLE PciVenTable [] = { 0xFFFF, "BAD!", "ILLEGITIMATE VENDOR ID" } } ; -// Use this value for loop control during searching: -#define PCI_VENTABLE_LEN (sizeof(PciVenTable)/sizeof(PCI_VENTABLE)) - -typedef struct _PCI_DEVTABLE -{ - unsigned short VenId ; - unsigned short DevId ; - char * Chip ; - char * ChipDesc ; -} PCI_DEVTABLE, *PPCI_DEVTABLE ; - -PCI_DEVTABLE PciDevTable [] = +// Use this value for loop control during searching: +#define PCI_VENTABLE_LEN (sizeof(PciVenTable)/sizeof(PCI_VENTABLE)) + +typedef struct _PCI_DEVTABLE +{ + unsigned short VenId ; + unsigned short DevId ; + char * Chip ; + char * ChipDesc ; +} PCI_DEVTABLE, *PPCI_DEVTABLE ; + +PCI_DEVTABLE PciDevTable [] = { - { , , "", "" } , { 0x0000, 0x07, "", "" } , { 0x0000, 0x1073, "", "" } , { 0x003D, 0x00D1, "", "i740 PCI" } , @@ -2342,7 +2341,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x1033, 0x00E7, "uPD72873", "IEEE1394 OHCI 1.1 2-port PHY-Link Ctrlr" } , { 0x1033, 0x00F2, "uPD72874", "IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr" } , { 0x1036, 0x0000, "TMC-18C30", "Fast SCSI" } , - { 0x1039, 0, "", "" } , { 0x1039, 0, "", "" } , { 0x1039, 0x0001, "SiS 530", "Virtual PCI-to-PCI bridge (AGP)" } , { 0x1039, 0x0002, "SiS 6201/02", "PCI True-Color Graphics Accelerator" } , @@ -2599,7 +2597,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x104E, 0x0217, "OTI-64217", "" } , { 0x104E, 0x0317, "OTI-64317", "" } , { 0x104E, 0x0611, "OTI-610", "" } , - { 0x104F, , "", "" } , { 0x104F, 0x104F, "iatca8392", "Multi I/O" } , { 0x1050, 0x0000, "004005-34c8c8", "Ethernet Controller (NE2000 compatible)" } , { 0x1050, 0x0001, "W83769F", "Ethernet Adapter" } , @@ -2671,7 +2668,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x105D, 0x2339, "I128s2", "Imagine 128 Series 2" } , { 0x105D, 0x493D, "T2R", "Revolution 3D" } , { 0x105D, 0x5348, "Revolution IV", "Revolution IV" } , - { 0x1060, , "", "" } , { 0x1060, 0x0001, "UM82C881", "486 Chipset" } , { 0x1060, 0x0002, "UM82C886", "ISA Bridge" } , { 0x1060, 0x0101, "UM8673F", "EIDE Controller" } , @@ -2790,7 +2786,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x1078, 0x0401, "ZFMicro", "Power Management Controller" } , { 0x1078, 0x0402, "ZFMicro", "IDE Controller" } , { 0x1078, 0x0403, "ZFMicro", "Expansion Bus" } , - { 0x1079, 0d01, "", "" } , { 0x107D, 0x0000, "P86C850", "Graphic GLU-Logic" } , { 0x107d, 0x2932, "", "" } , { 0x107E, 0x0001, "FLIPPER", "FRED Local Bus I/F to PCI Peripheral" } , @@ -2995,7 +2990,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x10AA, 0x0000, "ACC 2056/2188", "CPU to PCI Bridge (Pentium)" } , { 0x10AA, 0x2051, "", "Laptop Chipset CPU Bridge" } , { 0x10AA, 0x5842, "", "Laptop Chipset ISA Bridge" } , - { 0x10AB, , "", "" } , { 0x10AD, 0x0001, "W83769F", "EIDE Ctrlr" } , { 0x10ad, 0x0003, "SL82C103", "EIDE Controller" } , { 0x10ad, 0x0005, "SL82C105", "EIDE Busmaster Controller" } , @@ -3061,7 +3055,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x10B6, 0x1000, "Horizon", "ATM adapter" } , { 0x10B6, 0x1001, "Ambassador", "ATM adapter" } , { 0x10B6, 0x1002, "Ambassador", "ATM Adapter" } , - { 0x10B7, , "", "" } , { 0x10B7, 0x0001, "3C985", "1000BaseSX Gigabit Etherlink" } , { 0x10B7, 0x1000, "3C905CX-TXNM", "3COM 3C905CX-TXNM with 40-0664-003 ASIC" } , { 0x10B7, 0x1006, "0038TA <- AC101 - TF", "Mini-PCI 56K V.90 Modem" } , @@ -3426,7 +3419,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x10EA, 0x5050, "CyberPro 5050", "" } , { 0x10EB, 0x0101, "3GA", "64 bit graphics processor" } , { 0x10EB, 0x8111, "Twist3", "Frame Grabber" } , - { 0x10ec, 0029, "", "" } , { 0x10EC, 0x0139, "", "" } , { 0x10EC, 0x8029, "RTL8029", "NE2000 compatible Ethernet" } , { 0x10EC, 0x8129, "RTL8129", "10/100 Fast Ethernet Controller" } , @@ -3484,7 +3476,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x1101, 0x9401, "INIC-935", "Fast Wide SCSI Controller" } , { 0x1101, 0x9500, "INIC-950", "SCSI Controller" } , { 0x1101, 0x9700, "", "Fast Wide SCSI" } , - { 0x1102, , "", "" } , { 0x1102, 0x0002, "EMU10000", "Sound Blaster Live!" } , { 0x1102, 0x0003, "EMU8008", "AWE64D OEM (CT4600)" } , { 0x1102, 0x0004, "EMU10K2", "Audigy Audio Processor" } , @@ -3822,7 +3813,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x113F, 0x8888, "", "" } , { 0x113F, 0x9090, "", "" } , { 0x1141, 0x0001, "", "EIDE/ATAPI super adapter" } , - { 0x1142, , "", "" } , { 0x1142, 0x3210, "ProMotion 3210", "VGA/AVI Playback Accelerator" } , { 0x1142, 0x6410, "6410 6422", "GUI Accelerator" } , { 0x1142, 0x6412, "", "GUI Accelerator" } , @@ -3975,7 +3965,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x1180, 0x0575, "", "" } , { 0x1180, 0x0576, "", "SD-Card Interface" } , { 0x1185, 0x8929, "", "EIDE Controller" } , - { 0x1186, , "", "" } , { 0x1186, 0x0100, "DC21041", "Ethernet Adapter" } , { 0x1186, 0x1002, "DFE-550TX", "Fast Ethernet Adapter" } , { 0x1186, 0x1100, "", "Fast Ethernet Adapter" } , @@ -4088,7 +4077,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x11B8, 0x0001, "Quad PeerMaster", "" } , { 0x11B9, 0xC0ED, "SSA Ctrlr", "" } , { 0x11BC, 0x0001, "NPI NuCard", "PCI FDDI" } , - { 0x11C1, , "", "" } , { 0x11C1, 0x0440, "LT Winmodem 56k", "Data+Fax+Voice+DSVD" } , { 0x11C1, 0x0441, "LT Winmodem 56k", "Data+Fax" } , { 0x11C1, 0x0442, "1646T00", "V.90 Lucent Modem" } , @@ -4133,7 +4121,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x11C1, 0xAB20, "WaveLAN", "PCI Wireless LAN Adapter" } , { 0x11c1, 0xab34, "", "" } , { 0x11C1, 7121, "", "" } , - { 0x11C1, fsu 00, "", "" } , { 0x11C6, 0x3001, "1", "VM-1200 Opto Unit Controller" } , { 0x11C8, 0x0658, "PSB 32", "32 bit , 33 Mhz PCI-SCI Bridge" } , { 0x11C8, 0xD665, "PSB64", "64 bit , 33 Mhz PCI-SCI Bridge" } , @@ -4174,7 +4161,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x11F6, 0x2011, "RL100-ATX", "10/100 Fast Ethernet Adapter" } , { 0x11F6, 0x2201, "", "ReadyLink 100TX (Winbond W89C840)" } , { 0x11F6, 0x9881, "RL100TX", "Fast Ethernet Adapter" } , - { 0x11F7, , "", "" } , { 0x11F8, 0x7364, "PM7364", "FREEDM-32 Frame Engine & Datalink Mgr" } , { 0x11F8, 0x7366, "PM7366", "FREEDM-8 Frame Engine & Datalink Manager" } , { 0x11F8, 0x7367, "PM7367", "FREEDM-32P32 Frame Engine & Datalink Mgr" } , @@ -4182,7 +4168,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x11F8, 0x7380, "PM7380", "FREEDM-32P672 Frm Engine & Datalink Mgr" } , { 0x11F8, 0x7382, "PM7382", "FREEDM-32P256 Frm Engine & Datalink Mgr" } , { 0x11F8, 0x7384, "PM7384", "FREEDM-84P672 Frm Engine & Datalink Mgr" } , - { 0x11FA, , "", "" } , { 0x11FE, 0x0001, "RocketPort", "" } , { 0x11FE, 0x0002, "RocketPort", "" } , { 0x11FE, 0x0003, "RocketPort", "" } , @@ -4324,7 +4309,7 @@ PCI_DEVTABLE PciDevTable [] = { 0x1279, 0x0395, "LongRun", "Northbridge" } , { 0x1279, 0x0396, "", "SDRAM Controller" } , { 0x1279, 0x0397, "", "BIOS scratchpad" } , - { 0x127A, , "", "" } , + { 0x127A, 0x1002, "RH56D-PCI", "Modem enumerator" } , { 0x127A, 0x1003, "65785467", "HCF 56k V.90 Modem" } , { 0x127A, 0x1004, "R6795-12", "HCF 56k V.90 Modem" } , @@ -4358,7 +4343,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x127A, 0x4322, "", "Riptide PCI Game Controller" } , { 0x127A, 0x5278, "Harmonic DVB", "Network Adapter" } , { 0x127A, 0x8234, "RS8234", "ATM ServiceSAR Plus" } , - { 0x1282, , "", "" } , { 0x1282, 0x9009, "DM9009", "Ethernet Adapter" } , { 0x1282, 0x9100, "", "" } , { 0x1282, 0x9102, "DM9102/A/AF", "GFast Ethernet Adapter" } , @@ -4388,16 +4372,13 @@ PCI_DEVTABLE PciDevTable [] = { 0x129A, 0x0415, "PBT-415", "PCI 66MHz Analyzer and 33MHz Exerciser" } , { 0x129A, 0x0515, "PBT-515", "PCI 66MHz Analyzer and Exerciser" } , { 0x129A, 0x0615, "PBT-615", "PCI 66MHz and PCI-X 100MHz Bus Analyzer" } , - { 0x12A3, , "", "" } , { 0x12A3, 0xECB8, "1646T00", "" } , { 0x12aa, 0x5568, "", "WANic 400 series" } , { 0x12AA, 0x556C, "", "NAI HSSI Sniffer PCI Adapter" } , - { 0x12AB, , "", "" } , { 0x12AB, 0x3000, "TUN-200/MPG-200C", "PCI TV (and DVD Decoder?) Card" } , { 0x12ab, 3000, "", "" } , { 0x12AE, 0x0001, "3C986", "ACEnic 1000 BASE-SX Ethernet adapter" } , { 0x12AE, 0x0002, "3C986-T", "Copper Gigabit Ethernet Adapter" } , - { 0x12B9, , "", "" } , { 0x12B9, 0x0062, "erk41926a-0.6", "usr 56k internal modem" } , { 0x12B9, 0x1006, "3cp803598", "USR 56k Internal Voice WinModem" } , { 0x12B9, 0x1007, "ERL3263A-0", "USR 56k Internal DF GWPCI PC99" } , @@ -4406,7 +4387,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x12BE, 0x3041, "AN3041Q", "CO-MEM PCI Bus Interface and Cache" } , { 0x12be, 0x3042, "CY7C09449PV-AC", "128Kbit Dual-Port SRAM w PCI Bus Ctrlr" } , { 0x12C1, 0x9080, "Sync4hs/CCP/PCI/MP", "Communications Processor" } , - { 0x12C3, , "", "" } , { 0x12C3, 0x0058, "HT80232", "LAN Adapter (NE2000-compatible)" } , { 0x12C3, 0x5598, "HT80229", "Ethernet Adapter (NE2000-compatible)" } , { 0x12C5, 0x007F, "ISE", "PEI Imaging Subsystem Engine" } , @@ -4571,7 +4551,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x1344, 0x4030, "", "CopperHead CopperTail SC1 USB Controller" } , { 0x134A, 0x0001, "F01 2ASV17184.1", "Domex DMX 3191 PCI SCSI Controller" } , { 0x134A, 0x0002, "", "Domex DMX3192U/3194UP SCSI Adapter" } , - { 0x134D, , "", "" } , { 0x134D, 0x2486, "2304WT", "V.92 MDC Modem" } , { 0x134D, 0x7890, "PCT789T-C1", "HSP MicroModem 56" } , { 0x134D, 0x7891, "PCT 789T", "HSP MicroModem 56" } , @@ -4649,14 +4628,12 @@ PCI_DEVTABLE PciDevTable [] = { 0x13D1, 0xAB03, "", "" } , { 0x13D1, 0xAB06, "FE2000VX", "CardBus /Atelco Fibreline Ethernet Adptr" } , { 0x13D1, 0xAB08, "", "" } , - { 0x13D7, , "", "" } , { 0x13D7, 0x8086, "", "" } , { 0x13d8, 0x2101, "", "" } , { 0x13DF, 0x0001, "PCI56RVP", "Modem" } , { 0x13EA, 0x3131, "DS3131", "BoSS Bit Synchronous HDLC Controller" } , { 0x13EA, 0x3134, "DS3134", "Chateau Channelized T1/E1/HDLC Controller" } , { 0x13F0, 0x0201, "ST201", "Fast Ehternet Adapter" } , - { 0x13F6, , "", "" } , { 0x13F6, 0211, "", "" } , { 0x13F6, 0x0100, "CMI8338/PCI C3DX", "PCI Audio Chip" } , { 0x13F6, 0x0101, "CMI8338-031", "PCI Audio Device" } , @@ -5044,8 +5021,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x15d1, 0x0002, "PEB 20535 E v3.1", "4 Channel Serial Comm Controller (DSCC4)" } , { 0x15D1, 0x0003, "PEB 20544 E v1.1", "6 Port Optimized Comm Ctrlr (SPOCC)" } , { 0x15D1, 0x0004, "PEB 3454 E v1.1", "TE3-SPICCE 6 Port Integrated Comm Ctrlr" } , - { 0x15D7, , "", "" } , - { 0x15D7, RS56, "", "" } , { 0x15D8, 0x9001, "", "" } , { 0x15DC, 0x0001, "Argus 300", "PCI Cryptography Module" } , { 0x15E2, 0x0500, "", "Internet PhoneJack PCI Card" } , @@ -5068,7 +5043,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x162D, 0x0103, "", "Reprographics Controller" } , { 0x162F, 0x1111, "TS-PRL1", "General Purpose Relay Card" } , { 0x162F, 0x1112, "TS-PMA", "Matrix Card" } , - { 0x1638, , "", "" } , { 0x1638, 0x1100, "WL11000P", "" } , { 0x163C, 0xFF02, "", "Aztech CNR V.92 Modem" } , { 0x165A, 0xC100, "PIXCI CL1", "PCI camera link video capture board" } , @@ -5088,15 +5062,12 @@ PCI_DEVTABLE PciDevTable [] = { 0x1693, 0x0213, "Motorola MPC8245", "EPONINE MTM120 PCI Board" } , { 0x16CA, 0x0001, "Rocket Drive", "Solid State Disk" } , { 0x16EC, 0x3685, "", "" } , - { 0x173b, 03EA, "", "" } , { 0x173B, 0x03E8, "AC1000", "Gigabit Ethernet Adapter" } , { 0x1743, 0x8139, "ROL/F-100", "Fast Ethernet Adapter with ROL" } , { 0x1755, 0x000, "", "" } , { 0x1755, 0x0000, "", "" } , { 0x17C0, 0x12ab, "", "" } , - { 0x17C4, , "", "" } , { 0x17e9, 0x0001, "XLON PCI", "LonWorks Network Interface Card" } , - { 0x1813, , "", "" } , { 0x1813, 0x4000, "MD5628D-L", "Modem" } , { 0x1813, 0x4100, "MD8820", "Modem" } , { 0x1888, 0x0301, "", "" } , @@ -5790,8 +5761,6 @@ PCI_DEVTABLE PciDevTable [] = { 0x9902, 0x0001, "SG2010", "PCI-to-PCI Bridge" } , { 0x9902, 0x0002, "SG2010", "PCI to high speed serial bridge" } , { 0x9902, 0x0003, "SG1010", "6 port serial switch /PCI-to-PCI bridge" } , - { 0xA0A0, , "", "" } , - { 0xA727, , "", "" } , { 0xAA42, 0x03A3, "9400-0931", "CharKey" } , { 0xB00C, 0x001C, "IC80+PCI", "POST Diagnostics Card" } , { 0xb00c, 0x011c, "IC128", "PCI Parallel Port (LPT)" } , @@ -5848,221 +5817,221 @@ PCI_DEVTABLE PciDevTable [] = { 0xFEBD, 0067, "", "" } , { 0xFEDA, 0xA0FA, "BCM4210", "OEM Chip for 10meg/s over phone line" } , { 0xFEDA, 0xA10E, "", "" } , - { 0XFF80, 12B9, "", "" } , - { 0XFF80, FF80, "", "" } , { 0xFFFE, 0x0710, "", "Virtual SVGA" } , { 0xFFFF, 0xFFFF, "NO-DEVICE", "No device on PCI bus" } } ; -// Use this value for loop control during searching: -#define PCI_DEVTABLE_LEN (sizeof(PciDevTable)/sizeof(PCI_DEVTABLE)) - - -typedef struct _PCI_CLASSCODETABLE -{ - unsigned char BaseClass ; - unsigned char SubClass ; - unsigned char ProgIf ; - char * BaseDesc ; - char * SubDesc ; - char * ProgDesc ; -} PCI_CLASSCODETABLE, *PPCI_CLASSCODETABLE ; - -PCI_CLASSCODETABLE PciClassCodeTable [] = -{ - { 0x00, 0x00, 0x00, "Pre-2.0 PCI Specification Device", "Non-VGA","" } , - { 0x00, 0x01, 0x00, "Pre-2.0 PCI Specification Device", "VGA Compatible", "" } , - - { 0x01, 0x00, 0x00, "Mass Storage Controller", "SCSI", "" } , - { 0x01, 0x01, 0x00, "Mass Storage Controller", "IDE", "" } , - { 0x01, 0x02, 0x00, "Mass Storage Controller", "Floppy", "" } , - { 0x01, 0x03, 0x00, "Mass Storage Controller", "IPI", "" } , - { 0x01, 0x04, 0x00, "Mass Storage Controller", "RAID", "" } , - { 0x01, 0x80, 0x00, "Mass Storage Controller", "Other", "" } , - - { 0x02, 0x00, 0x00, "Network Controller", "Ethernet", "" } , - { 0x02, 0x01, 0x00, "Network Controller", "Token Ring", "" } , - { 0x02, 0x02, 0x00, "Network Controller", "FDDI", "" } , - { 0x02, 0x03, 0x00, "Network Controller", "ATM", "" } , - { 0x02, 0x04, 0x00, "Network Controller", "ISDN", "" } , - { 0x02, 0x80, 0x00, "Network Controller", "Other", "" } , - - { 0x03, 0x00, 0x00, "Display Controller", "PC Compatible", "VGA" } , - { 0x03, 0x00, 0x01, "Display Controller", "PC Compatible", "8514" } , - { 0x03, 0x01, 0x00, "Display Controller", "XGA", "" } , - { 0x03, 0x02, 0x00, "Display Controller", "3D", "" } , - { 0x03, 0x80, 0x00, "Display Controller", "Other", "" } , - - { 0x04, 0x00, 0x00, "Multimedia Device", "Video", "" } , - { 0x04, 0x01, 0x00, "Multimedia Device", "Audio", "" } , - { 0x04, 0x02, 0x00, "Multimedia Device", "Telephony", "" } , - { 0x04, 0x80, 0x00, "Multimedia Device", "Other", "" } , - - { 0x05, 0x00, 0x00, "Memory Controller", "RAM", "" } , - { 0x05, 0x01, 0x00, "Memory Controller", "Flash", "" } , - { 0x05, 0x80, 0x00, "Memory Controller", "Other", "" } , - - { 0x06, 0x00, 0x00, "Bridge Device", "Host/PCI", "" } , - { 0x06, 0x01, 0x00, "Bridge Device", "PCI/ISA", "" } , - { 0x06, 0x02, 0x00, "Bridge Device", "PCI/EISA", "" } , - { 0x06, 0x03, 0x00, "Bridge Device", "PCI/MCA", "" } , - { 0x06, 0x04, 0x00, "Bridge Device", "PCI/PCI", "" } , - { 0x06, 0x04, 0x01, "Bridge Device", "PCI/PCI", "Subtractive" } , - { 0x06, 0x05, 0x00, "Bridge Device", "PCI/PCMCIA", "" } , - { 0x06, 0x06, 0x00, "Bridge Device", "PCI/NuBus", "" } , - { 0x06, 0x07, 0x00, "Bridge Device", "PCI/CardBus", "" } , - { 0x06, 0x08, 0x00, "Bridge Device", "PCI/RACEway", "Transparent" } , - { 0x06, 0x08, 0x01, "Bridge Device", "PCI/RACEway", "End-Point" } , - { 0x06, 0x80, 0x00, "Bridge Device", "Other", "" } , - - { 0x07, 0x00, 0x00, "Simple Communications Controller", "Serial", "Generic XT Compatible" } , - { 0x07, 0x00, 0x01, "Simple Communications Controller", "Serial", "16450 Compatible" } , - { 0x07, 0x00, 0x02, "Simple Communications Controller", "Serial", "16550 Compatible" } , - { 0x07, 0x00, 0x03, "Simple Communications Controller", "Serial", "16650 Compatible" } , - { 0x07, 0x00, 0x04, "Simple Communications Controller", "Serial", "16750 Compatible" } , - { 0x07, 0x00, 0x05, "Simple Communications Controller", "Serial", "16850 Compatible" } , - { 0x07, 0x00, 0x06, "Simple Communications Controller", "Serial", "16950 Compatible" } , - { 0x07, 0x01, 0x00, "Simple Communications Controller", "Parallel", "Standard" } , - { 0x07, 0x01, 0x01, "Simple Communications Controller", "Parallel", "Bidirectional" } , - { 0x07, 0x01, 0x02, "Simple Communications Controller", "Parallel", "ECP 1.X Compliant" } , - { 0x07, 0x01, 0x03, "Simple Communications Controller", "Parallel", "IEEE 1284 controller" } , - { 0x07, 0x01, 0xFE, "Simple Communications Controller", "Parallel", "IEEE 1284 target" } , - { 0x07, 0x02, 0x00, "Simple Communications Controller", "Multiport Serial", "" } , - { 0x07, 0x03, 0x00, "Simple Communications Controller", "Generic Modem", "" } , - { 0x07, 0x03, 0x01, "Simple Communications Controller", "Hayes-Compatible Modem", "16450" } , - { 0x07, 0x03, 0x02, "Simple Communications Controller", "Hayes-Compatible Modem", "16550" } , - { 0x07, 0x03, 0x03, "Simple Communications Controller", "Hayes-Compatible Modem", "16650" } , - { 0x07, 0x03, 0x04, "Simple Communications Controller", "Hayes-Compatible Modem", "16750" } , - { 0x07, 0x80, 0x02, "Simple Communications Controller", "Other", "" } , - - { 0x08, 0x00, 0x00, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "Generic 8259" } , - { 0x08, 0x00, 0x01, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "ISA" } , - { 0x08, 0x00, 0x02, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "EISA" } , - { 0x08, 0x00, 0x10, "Base Systems Peripheral", "I/O APIC", "" } , - { 0x08, 0x00, 0x20, "Base Systems Peripheral", "I/O(x) APIC", "" } , - { 0x08, 0x01, 0x00, "Base Systems Peripheral", "DMA (Direct Memory Access)", "Generic 8237" } , - { 0x08, 0x01, 0x01, "Base Systems Peripheral", "DMA (Direct Memory Access)", "ISA" } , - { 0x08, 0x01, 0x02, "Base Systems Peripheral", "DMA (Direct Memory Access)", "EISA" } , - { 0x08, 0x02, 0x00, "Base Systems Peripheral", "System Timer", "Generic 8254" } , - { 0x08, 0x02, 0x01, "Base Systems Peripheral", "System Timer", "ISA" } , - { 0x08, 0x02, 0x02, "Base Systems Peripheral", "System Timer", "EISA" } , - { 0x08, 0x03, 0x00, "Base Systems Peripheral", "RTC (Real Time Clock)", "Generic" } , - { 0x08, 0x03, 0x01, "Base Systems Peripheral", "RTC (Real Time Clock)", "ISA" } , - { 0x08, 0x04, 0x00, "Base Systems Peripheral", "PCI Hot-Plug Controller", "Generic" } , - { 0x08, 0x80, 0x00, "Base Systems Peripheral", "Other", "" } , - - { 0x09, 0x00, 0x00, "Input Device", "Keyboard", "" } , - { 0x09, 0x01, 0x00, "Input Device", "Digitizer (Pen)", "" } , - { 0x09, 0x02, 0x00, "Input Device", "Mouse", "" } , - { 0x09, 0x03, 0x00, "Input Device", "Scanner", "" } , - { 0x09, 0x04, 0x00, "Input Device", "Game Port", "Generic" } , - { 0x09, 0x04, 0x10, "Input Device", "Game Port", "Legacy" } , - { 0x09, 0x80, 0x00, "Input Device", "Other", "" } , - - { 0x0A, 0x00, 0x00, "Docking Station", "Generic", "" } , - { 0x0A, 0x80, 0x00, "Docking Station", "Other", "" } , - - { 0x0B, 0x00, 0x00, "Processor", "i386", "" } , - { 0x0B, 0x01, 0x00, "Processor", "i486", "" } , - { 0x0B, 0x02, 0x00, "Processor", "Pentium", "" } , - { 0x0B, 0x10, 0x00, "Processor", "Alpha", "" } , - { 0x0B, 0x20, 0x00, "Processor", "Power PC", "" } , - { 0x0B, 0x30, 0x00, "Processor", "MIPS", "" } , - { 0x0B, 0x40, 0x00, "Processor", "Co-processor", "" } , - - { 0x0C, 0x00, 0x00, "Serial Bus Controller", "IEEE 1394", "Firewire" } , - { 0x0C, 0x00, 0x10, "Serial Bus Controller", "IEEE 1394", "OpenHCI" } , - { 0x0C, 0x01, 0x00, "Serial Bus Controller", "ACCESS.bus", "" } , - { 0x0C, 0x02, 0x00, "Serial Bus Controller", "SSA (Serial Storage Archetecture)", "" } , - { 0x0C, 0x03, 0x00, "Serial Bus Controller", "USB (Universal Serial Bus)", "Universal Host Controller" } , - { 0x0C, 0x03, 0x10, "Serial Bus Controller", "USB (Universal Serial Bus)", "Open Host Controller" } , - { 0x0C, 0x03, 0x80, "Serial Bus Controller", "USB (Universal Serial Bus)", "Non-specific Controller" } , - { 0x0C, 0x03, 0xFE, "Serial Bus Controller", "USB (Universal Serial Bus)", "Device" } , - { 0x0C, 0x04, 0x00, "Serial Bus Controller", "Fibre Channel", "" } , - { 0x0C, 0x05, 0x00, "Serial Bus Controller", "SMBus", "" } , - - { 0x0D, 0x00, 0x00, "Wireless", "iRDA-compatible Controller", "" } , - { 0x0D, 0x01, 0x00, "Wireless", "Consumer IR Controller", "" } , - { 0x0D, 0x10, 0x00, "Wireless", "RF Controller", "" } , - { 0x0D, 0x80, 0x00, "Wireless", "Other", "" } , - - { 0x0E, 0x00, 0x00, "Intelligent IO", "I2O", "" } , - - { 0x0F, 0x01, 0x00, "Satellite", "TV", "" } , - { 0x0F, 0x02, 0x00, "Satellite", "Audio", "" } , - { 0x0F, 0x03, 0x00, "Satellite", "Voice", "" } , - { 0x0F, 0x04, 0x00, "Satellite", "Data", "" } , - - { 0x10, 0x00, 0x00, "Encryption", "Network/Computing", "" } , - { 0x10, 0x10, 0x00, "Encryption", "Entertainment", "" } , - { 0x10, 0x80, 0x00, "Encryption", "Other", "" } , - - { 0x11, 0x00, 0x00, "Signal Processing", "DPIO", "" } , - { 0x11, 0x80, 0x00, "Signal Processing", "Other", "" } , - - { 0xFF, 0x00, 0x00, "Unknown", "Device Does Not Fit in a Defined Class", "UDF" } , -} ; - -// Use this value for loop control during searching: -#define PCI_CLASSCODETABLE_LEN (sizeof(PciClassCodeTable)/sizeof(PCI_CLASSCODETABLE)) - - -char * PciCommandFlags [] = -{ - "I/O Access", - "Memory Access", - "Bus Mastering", - "Special Cycles", - "Memory Write & Invalidate", - "Palette Snoop", - "Parity Errors", - "Wait Cycles", - "System Errors", - "Fast Back-To-Back", - "Reserved 10", - "Reserved 11", - "Reserved 12", - "Reserved 13", - "Reserved 14", - "Reserved 15" -} ; - -// Use this value for loop control during searching: -#define PCI_COMMANDFLAGS_LEN (sizeof(PciCommandFlags)/sizeof(char *)) - - -char * PciStatusFlags [] = -{ - "Reserved 0", - "Reserved 1", - "Reserved 2", - "Reserved 3", - "Reserved 4", - "66 MHz Capable", - "User-Defined Features", - "Fast Back-To-Back", - "Data Parity Reported", - "", - "", - "Signalled Target Abort", - "Received Target Abort", - "Received Master Abort", - "Signalled System Error", - "Detected Parity Error" -} ; - -// Use this value for loop control during searching: -#define PCI_STATUSFLAGS_LEN (sizeof(PciStatusFlags)/sizeof(char *)) - - -char * PciDevSelFlags [] = -{ - "Fast Devsel Speed", // TypeC - "Medium Devsel Speed", // TypeB - "Slow Devsel Speed", // TypeA - "Reserved 9&10" -} ; - -// Use this value for loop control during searching: -#define PCI_DEVSELFLAGS_LEN (sizeof(PciDevSelFlags)/sizeof(char *)) - +// Use this value for loop control during searching: +#define PCI_DEVTABLE_LEN (sizeof(PciDevTable)/sizeof(PCI_DEVTABLE)) + +#if 0 + +typedef struct _PCI_CLASSCODETABLE +{ + unsigned char BaseClass ; + unsigned char SubClass ; + unsigned char ProgIf ; + char * BaseDesc ; + char * SubDesc ; + char * ProgDesc ; +} PCI_CLASSCODETABLE, *PPCI_CLASSCODETABLE ; + +PCI_CLASSCODETABLE PciClassCodeTable [] = +{ + { 0x00, 0x00, 0x00, "Pre-2.0 PCI Specification Device", "Non-VGA","" } , + { 0x00, 0x01, 0x00, "Pre-2.0 PCI Specification Device", "VGA Compatible", "" } , + + { 0x01, 0x00, 0x00, "Mass Storage Controller", "SCSI", "" } , + { 0x01, 0x01, 0x00, "Mass Storage Controller", "IDE", "" } , + { 0x01, 0x02, 0x00, "Mass Storage Controller", "Floppy", "" } , + { 0x01, 0x03, 0x00, "Mass Storage Controller", "IPI", "" } , + { 0x01, 0x04, 0x00, "Mass Storage Controller", "RAID", "" } , + { 0x01, 0x80, 0x00, "Mass Storage Controller", "Other", "" } , + + { 0x02, 0x00, 0x00, "Network Controller", "Ethernet", "" } , + { 0x02, 0x01, 0x00, "Network Controller", "Token Ring", "" } , + { 0x02, 0x02, 0x00, "Network Controller", "FDDI", "" } , + { 0x02, 0x03, 0x00, "Network Controller", "ATM", "" } , + { 0x02, 0x04, 0x00, "Network Controller", "ISDN", "" } , + { 0x02, 0x80, 0x00, "Network Controller", "Other", "" } , + + { 0x03, 0x00, 0x00, "Display Controller", "PC Compatible", "VGA" } , + { 0x03, 0x00, 0x01, "Display Controller", "PC Compatible", "8514" } , + { 0x03, 0x01, 0x00, "Display Controller", "XGA", "" } , + { 0x03, 0x02, 0x00, "Display Controller", "3D", "" } , + { 0x03, 0x80, 0x00, "Display Controller", "Other", "" } , + + { 0x04, 0x00, 0x00, "Multimedia Device", "Video", "" } , + { 0x04, 0x01, 0x00, "Multimedia Device", "Audio", "" } , + { 0x04, 0x02, 0x00, "Multimedia Device", "Telephony", "" } , + { 0x04, 0x80, 0x00, "Multimedia Device", "Other", "" } , + + { 0x05, 0x00, 0x00, "Memory Controller", "RAM", "" } , + { 0x05, 0x01, 0x00, "Memory Controller", "Flash", "" } , + { 0x05, 0x80, 0x00, "Memory Controller", "Other", "" } , + + { 0x06, 0x00, 0x00, "Bridge Device", "Host/PCI", "" } , + { 0x06, 0x01, 0x00, "Bridge Device", "PCI/ISA", "" } , + { 0x06, 0x02, 0x00, "Bridge Device", "PCI/EISA", "" } , + { 0x06, 0x03, 0x00, "Bridge Device", "PCI/MCA", "" } , + { 0x06, 0x04, 0x00, "Bridge Device", "PCI/PCI", "" } , + { 0x06, 0x04, 0x01, "Bridge Device", "PCI/PCI", "Subtractive" } , + { 0x06, 0x05, 0x00, "Bridge Device", "PCI/PCMCIA", "" } , + { 0x06, 0x06, 0x00, "Bridge Device", "PCI/NuBus", "" } , + { 0x06, 0x07, 0x00, "Bridge Device", "PCI/CardBus", "" } , + { 0x06, 0x08, 0x00, "Bridge Device", "PCI/RACEway", "Transparent" } , + { 0x06, 0x08, 0x01, "Bridge Device", "PCI/RACEway", "End-Point" } , + { 0x06, 0x80, 0x00, "Bridge Device", "Other", "" } , + + { 0x07, 0x00, 0x00, "Simple Communications Controller", "Serial", "Generic XT Compatible" } , + { 0x07, 0x00, 0x01, "Simple Communications Controller", "Serial", "16450 Compatible" } , + { 0x07, 0x00, 0x02, "Simple Communications Controller", "Serial", "16550 Compatible" } , + { 0x07, 0x00, 0x03, "Simple Communications Controller", "Serial", "16650 Compatible" } , + { 0x07, 0x00, 0x04, "Simple Communications Controller", "Serial", "16750 Compatible" } , + { 0x07, 0x00, 0x05, "Simple Communications Controller", "Serial", "16850 Compatible" } , + { 0x07, 0x00, 0x06, "Simple Communications Controller", "Serial", "16950 Compatible" } , + { 0x07, 0x01, 0x00, "Simple Communications Controller", "Parallel", "Standard" } , + { 0x07, 0x01, 0x01, "Simple Communications Controller", "Parallel", "Bidirectional" } , + { 0x07, 0x01, 0x02, "Simple Communications Controller", "Parallel", "ECP 1.X Compliant" } , + { 0x07, 0x01, 0x03, "Simple Communications Controller", "Parallel", "IEEE 1284 controller" } , + { 0x07, 0x01, 0xFE, "Simple Communications Controller", "Parallel", "IEEE 1284 target" } , + { 0x07, 0x02, 0x00, "Simple Communications Controller", "Multiport Serial", "" } , + { 0x07, 0x03, 0x00, "Simple Communications Controller", "Generic Modem", "" } , + { 0x07, 0x03, 0x01, "Simple Communications Controller", "Hayes-Compatible Modem", "16450" } , + { 0x07, 0x03, 0x02, "Simple Communications Controller", "Hayes-Compatible Modem", "16550" } , + { 0x07, 0x03, 0x03, "Simple Communications Controller", "Hayes-Compatible Modem", "16650" } , + { 0x07, 0x03, 0x04, "Simple Communications Controller", "Hayes-Compatible Modem", "16750" } , + { 0x07, 0x80, 0x02, "Simple Communications Controller", "Other", "" } , + + { 0x08, 0x00, 0x00, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "Generic 8259" } , + { 0x08, 0x00, 0x01, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "ISA" } , + { 0x08, 0x00, 0x02, "Base Systems Peripheral", "PIC (Programmable Interrupt Controller)", "EISA" } , + { 0x08, 0x00, 0x10, "Base Systems Peripheral", "I/O APIC", "" } , + { 0x08, 0x00, 0x20, "Base Systems Peripheral", "I/O(x) APIC", "" } , + { 0x08, 0x01, 0x00, "Base Systems Peripheral", "DMA (Direct Memory Access)", "Generic 8237" } , + { 0x08, 0x01, 0x01, "Base Systems Peripheral", "DMA (Direct Memory Access)", "ISA" } , + { 0x08, 0x01, 0x02, "Base Systems Peripheral", "DMA (Direct Memory Access)", "EISA" } , + { 0x08, 0x02, 0x00, "Base Systems Peripheral", "System Timer", "Generic 8254" } , + { 0x08, 0x02, 0x01, "Base Systems Peripheral", "System Timer", "ISA" } , + { 0x08, 0x02, 0x02, "Base Systems Peripheral", "System Timer", "EISA" } , + { 0x08, 0x03, 0x00, "Base Systems Peripheral", "RTC (Real Time Clock)", "Generic" } , + { 0x08, 0x03, 0x01, "Base Systems Peripheral", "RTC (Real Time Clock)", "ISA" } , + { 0x08, 0x04, 0x00, "Base Systems Peripheral", "PCI Hot-Plug Controller", "Generic" } , + { 0x08, 0x80, 0x00, "Base Systems Peripheral", "Other", "" } , + + { 0x09, 0x00, 0x00, "Input Device", "Keyboard", "" } , + { 0x09, 0x01, 0x00, "Input Device", "Digitizer (Pen)", "" } , + { 0x09, 0x02, 0x00, "Input Device", "Mouse", "" } , + { 0x09, 0x03, 0x00, "Input Device", "Scanner", "" } , + { 0x09, 0x04, 0x00, "Input Device", "Game Port", "Generic" } , + { 0x09, 0x04, 0x10, "Input Device", "Game Port", "Legacy" } , + { 0x09, 0x80, 0x00, "Input Device", "Other", "" } , + + { 0x0A, 0x00, 0x00, "Docking Station", "Generic", "" } , + { 0x0A, 0x80, 0x00, "Docking Station", "Other", "" } , + + { 0x0B, 0x00, 0x00, "Processor", "i386", "" } , + { 0x0B, 0x01, 0x00, "Processor", "i486", "" } , + { 0x0B, 0x02, 0x00, "Processor", "Pentium", "" } , + { 0x0B, 0x10, 0x00, "Processor", "Alpha", "" } , + { 0x0B, 0x20, 0x00, "Processor", "Power PC", "" } , + { 0x0B, 0x30, 0x00, "Processor", "MIPS", "" } , + { 0x0B, 0x40, 0x00, "Processor", "Co-processor", "" } , + + { 0x0C, 0x00, 0x00, "Serial Bus Controller", "IEEE 1394", "Firewire" } , + { 0x0C, 0x00, 0x10, "Serial Bus Controller", "IEEE 1394", "OpenHCI" } , + { 0x0C, 0x01, 0x00, "Serial Bus Controller", "ACCESS.bus", "" } , + { 0x0C, 0x02, 0x00, "Serial Bus Controller", "SSA (Serial Storage Archetecture)", "" } , + { 0x0C, 0x03, 0x00, "Serial Bus Controller", "USB (Universal Serial Bus)", "Universal Host Controller" } , + { 0x0C, 0x03, 0x10, "Serial Bus Controller", "USB (Universal Serial Bus)", "Open Host Controller" } , + { 0x0C, 0x03, 0x80, "Serial Bus Controller", "USB (Universal Serial Bus)", "Non-specific Controller" } , + { 0x0C, 0x03, 0xFE, "Serial Bus Controller", "USB (Universal Serial Bus)", "Device" } , + { 0x0C, 0x04, 0x00, "Serial Bus Controller", "Fibre Channel", "" } , + { 0x0C, 0x05, 0x00, "Serial Bus Controller", "SMBus", "" } , + + { 0x0D, 0x00, 0x00, "Wireless", "iRDA-compatible Controller", "" } , + { 0x0D, 0x01, 0x00, "Wireless", "Consumer IR Controller", "" } , + { 0x0D, 0x10, 0x00, "Wireless", "RF Controller", "" } , + { 0x0D, 0x80, 0x00, "Wireless", "Other", "" } , + + { 0x0E, 0x00, 0x00, "Intelligent IO", "I2O", "" } , + + { 0x0F, 0x01, 0x00, "Satellite", "TV", "" } , + { 0x0F, 0x02, 0x00, "Satellite", "Audio", "" } , + { 0x0F, 0x03, 0x00, "Satellite", "Voice", "" } , + { 0x0F, 0x04, 0x00, "Satellite", "Data", "" } , + + { 0x10, 0x00, 0x00, "Encryption", "Network/Computing", "" } , + { 0x10, 0x10, 0x00, "Encryption", "Entertainment", "" } , + { 0x10, 0x80, 0x00, "Encryption", "Other", "" } , + + { 0x11, 0x00, 0x00, "Signal Processing", "DPIO", "" } , + { 0x11, 0x80, 0x00, "Signal Processing", "Other", "" } , + + { 0xFF, 0x00, 0x00, "Unknown", "Device Does Not Fit in a Defined Class", "UDF" } , +} ; + +// Use this value for loop control during searching: +#define PCI_CLASSCODETABLE_LEN (sizeof(PciClassCodeTable)/sizeof(PCI_CLASSCODETABLE)) + + +char * PciCommandFlags [] = +{ + "I/O Access", + "Memory Access", + "Bus Mastering", + "Special Cycles", + "Memory Write & Invalidate", + "Palette Snoop", + "Parity Errors", + "Wait Cycles", + "System Errors", + "Fast Back-To-Back", + "Reserved 10", + "Reserved 11", + "Reserved 12", + "Reserved 13", + "Reserved 14", + "Reserved 15" +} ; + +// Use this value for loop control during searching: +#define PCI_COMMANDFLAGS_LEN (sizeof(PciCommandFlags)/sizeof(char *)) + + +char * PciStatusFlags [] = +{ + "Reserved 0", + "Reserved 1", + "Reserved 2", + "Reserved 3", + "Reserved 4", + "66 MHz Capable", + "User-Defined Features", + "Fast Back-To-Back", + "Data Parity Reported", + "", + "", + "Signalled Target Abort", + "Received Target Abort", + "Received Master Abort", + "Signalled System Error", + "Detected Parity Error" +} ; + +// Use this value for loop control during searching: +#define PCI_STATUSFLAGS_LEN (sizeof(PciStatusFlags)/sizeof(char *)) + + +char * PciDevSelFlags [] = +{ + "Fast Devsel Speed", // TypeC + "Medium Devsel Speed", // TypeB + "Slow Devsel Speed", // TypeA + "Reserved 9&10" +} ; + +// Use this value for loop control during searching: +#define PCI_DEVSELFLAGS_LEN (sizeof(PciDevSelFlags)/sizeof(char *)) + +#endif