pcie配置空间早期是246字节。由头部和设备相关部分两个region组成。其中头部64B,设备相关192B。
其中64B是header叫做预定义头部,存储设备基本信息和通用控制部分,比如说pcie的venderid就存在byte0和byte1。这个vendor id是PCI SIG组织统一管理的。每个厂商固定。如mellanox网卡vendor id是15b3。tplink是10ec
可以通过下面的命令扫描固定vendor
lspci -d 15b3: #注意需要加上:
设备相关region是剩余192bit包括各种capability。
pcie配置空间中0Eh地址存储的是类型。总的三种
- 0x00 表示该设备是一个pcie设备
- 0x01 表示设备是一个pci bridge
- 0x02 要是设备是一个card bus bridge