PCI Express (PCIe) Class Code 是一种标识符,用于在PCI和PCI Express设备中分类不同的设备类型。在PCI配置空间中,Class Code是一个16位的字段,分为三部分:Base Class、Subclass、Programming Interface,各占8位、8位和8位,共同定义了设备的类别和子类别,以及特定的编程接口或功能。 结构组成: Base Class (基础...
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 co...
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 co...
分为2步:第一步,计算这个寄存器的地址(32 位),然后通过out指令把这个地写到0xCF8端口;第二步,使用in指令读取0xCFC端口的数据。 额外说一点:其中的Class code又细分为Class code、Subclass和Prog IF。 IDE Controller的Class code =0x01 和Subclass = 0x01等寄存器。 PCI funtion地址的结构: 寄存器的地址由Bus...
Class Code:供系统软件识别当前PCIE设备的分类,共24bit,分为三个字节:Base class code(bit23:16将设备分类为显卡、网卡、桥设备等类型)、Sub class code(bit15:8进一步细分类)、interface(bit7:0定义编程接口)。 Header Type:8bit,只读,定义如下表:
Sub Class Code、Inerface。Base Class Code代表设备类型,如显卡、网卡、PCI桥等。Sub Class Code则对...
Class Code标识了设备的类型。对于每一种设备都有标准分类:显示、SCSI等等。对于SCSI的类型编码是0x0100。 Base Address Registers这些寄存器用于确定和分配设备可以使用的PCI I/O和PCI内存的类型、大小和位置。 Interrupt Pin PCI卡的物理管脚中的4个用于向PCI总线传递中断。标准中把它们标记为A、B、C和D。Interrupt...
...操作系统就是凭着 Vendor ID和Device ID 找到对应驱动程序的。 Class Code:类代码。共三字节,分别是 类代码、子类代码、编程接口。...类代码不仅用于区分设备类型,还是编程接口的规范,这就是为什么会有通用驱动程序。 IRQ Line:IRQ编号。PC机以前是靠两片8259芯片来管理16个硬件中断。
Linux 将配置空间中的venderId,deviceId,classcode,subvendorId,subdeviceId,class_mask,driver_data(kernel_ulong_t,不是必须的) 抽象为struct pci_device_id结构体,PCI驱动程序用该结构体告诉内核,本身支持什么样的PCI设备列表; MODULE_DEVICE_TABLE(pci,ids); ...