目录
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.0Sub-Class
Prog. I/F
Description
0x00
0x00
All devices other than VGA
0x01
0x01
VGA device
Class Code 1: Mass Storage ControllersSub-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 ControllersSub-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 ControllersSub-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 DevicesSub-Class
Prog. I/F
Description
0x00
0x00
Video device
0x01
0x00
Audio device
0x80
0x00
Other multimedia device
Class Code 5: Memory ControllersSub-Class
Prog. I/F
Description
0x00
0x00
RAM controller
0x01
0x00
Flash memory controller
0x80
0x00
Other memory controller
Class Code 6: Bridge DevicesSub-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 ControllersSub-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 PeripheralsSub-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 DevicesSub-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 StationsSub-Class
Prog. I/F
Description
0x00
0x00
Generic docking station
0x80
0x00
Other type of docking station
Class Code B: ProcessorsSub-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 ControllersSub-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)