1. PCI Device's Class Codes
PCI Config-Space_Rx09[] : 开始的3个字节
Class | Description |
---|---|
0x00 | Devices built before class codes (i.e. pre PCI 2.0) |
0x01 | Mass storage controller |
0x02 | Network controller |
0x03 | Display controller |
0x04 | Multimedia device |
0x05 | Memory Controller |
0x06 | Bridge Device |
0x07 | Simple communications controllers |
0x08 | Base system peripherals |
0x09 | Inupt devices |
0x0A | Docking Stations |
0x0B | Processorts |
0x0C | Serial bus controllers |
0x0D-0xFE | Reserved |
0xFF | Misc |
2. 分布介绍各个类别
Class Code 0: Pre 2.0
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | All devices other than VGA |
0x01 | 0x01 | VGA device |
Class Code 1: Mass Storage Controllers
Sub-Class | Prog. I/F | Description | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0x00 | 0x00 | SCSI Controller | ||||||||||||||
0x01 | 0xXX | IDE controller. The Prog I/F is defined as follows:
| ||||||||||||||
0x02 | 0x00 | Floppy disk controller | ||||||||||||||
0x03 | 0x00 | IPI controller | ||||||||||||||
0x04 | 0x00 | RAID controller | ||||||||||||||
0x80 | 0x00 | Other mass storage controller |
Class Code 2: Network Controllers
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Ethernet controller |
0x01 | 0x00 | Token ring |
0x02 | 0x00 | FDDI controller |
0x03 | 0x00 | ATM controller |
0x80 | 0x00 | Other network conteroller |
Class Code 3: Display Controllers
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | VGA compatable controller. Has mapping for 0xA0000..0xBFFFF and io addresses 0x3B0..0x3BB. |
0x01 | 8514 compatable | |
0x01 | 0x00 | XGA controller |
0x80 | 0x80 | Other display controller |
Class Code 4: Multimedia Devices
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Video device |
0x01 | 0x00 | Audio device |
0x80 | 0x00 | Other multimedia device |
Class Code 5: Memory Controllers
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | RAM controller |
0x01 | 0x00 | Flash memory controller |
0x80 | 0x00 | Other memory controller |
Class Code 6: Bridge Devices
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Host/PCI bridge |
0x01 | 0x00 | PCI/ISA bridge |
0x02 | 0x00 | PCI/EISA bridge |
0x03 | 0x00 | PCI/Micro Channel bridge |
0x04 | 0x00 | PCI/PCI bridge |
0x05 | 0x00 | PCI/PCMCIA bridge |
0x06 | 0x00 | PCI/NuBus bridge |
0x07 | 0x00 | PCI/CardBus bridge |
0x80 | 0x00 | Other bridge type |
Class Code 7: Simple Communications Controllers
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Generic XT compatable serial controller |
0x01 | 16450 compatable serial controller | |
0x02 | 16550 compatable serial controller | |
0x01 | 0x00 | Parallel port |
0x01 | Bi-directional parallel port | |
0x02 | ECP 1.X parallel port | |
0x80 | 0x00 | Other commonications device |
Class Code 8: Base System Peripherals
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Generic 8259 programmable interrupt controller (PIC) |
0x01 | ISA PIC | |
0x02 | EISA PIC | |
0x01 | 0x00 | Generic 8237 DMA controller |
0x01 | ISA DMA controller | |
0x02 | EISA DMA controller | |
0x02 | 0x00 | Generic 8254 timer |
0x01 | ISA system timer | |
0x02 | EISA system timer | |
0x03 | 0x00 | Generic RTC controller |
0x01 | ISA RTC controller | |
0x80 | 0x00 | Other system peripheral |
Class Code 9: Input Devices
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Keyboard controller |
0x01 | 0x00 | Digitizer (pen) |
0x02 | 0x00 | Mouse controller |
0x80 | 0x00 | Other input controller |
Class Code A: Docking Stations
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Generic docking station |
0x80 | 0x00 | Other type of docking station |
Class Code B: Processors
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | 386 |
0x01 | 0x00 | 486 |
0x02 | 0x00 | Pentium |
0x10 | 0x00 | Alpha |
0x20 | 0x00 | PowerPC |
0x40 | 0x00 | Co-Processor |
Class Code C: Serial Bus Controllers
Sub-Class | Prog. I/F | Description |
---|---|---|
0x00 | 0x00 | Firewire (IEEE 1394) |
0x01 | 0x00 | ACCESS bus |
0x02 | 0x00 | SSA (Serial Storage Architecture) |
0x03 | 0x00 | USB (Universal Serial Bus) |