本文主要是介绍PCI Device Class Codes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
Class Code 0: Pre 2.0
Class Code 1: Mass Storage Controllers
Class Code 2: Network Controllers
Class Code 3: Display Controllers
Class Code 4: Multimedia Devices
Class Code 5: Memory Controllers
Class Code 6: Bridge Devices
Class Code 7: Simple Communications Controllers
Class Code 8: Base System Peripherals
Class Code 9: Input Devices
Class Code A: Docking Stations
Class Code B: Processors
Class Code C: Serial Bus Controllers
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 |
下面介绍各个类别
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 |
bits | Desc |
0 | Operating mode (primary) |
1 | Programmable indicator (primary) |
2 | Operating mode (secondary) |
3 | Programmable indicator (secondary) |
6..4 | Reserved (zero) |
7 | Master IDE device |
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) |
这篇关于PCI Device Class Codes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!