pci是一种总线标准,总线就是计算机内部的通信通道,pci配置空间能够实现设备参数的自动配置,从而实现即插即用,要读写配置空间,可以通过编程实现,也可以通过linux自带的命令实现,编程一般通过将B/D/F转换成MMIO的地址,之后就可以通过MMIO的方式来访问,介绍起来过于复杂,因此这里建议使用linux自带的命令完成读写。
一、lspci命令读取PCI设备配置空间
1、lspci顾名思义列出pc坡纠课柩i设备,这个命令有一个-xxx的参数,可以列出PCI设备的配置空间内容,如下图所示。注意:弋讥孜求使用-xxx参数必须得root权限,这里通过sudo命令提升权限。技巧:一般使用lspci、setpci等命令,直接使用root权限即可,因为命令执行过程不会提示权限不足,也会显示信息,只是显示的不全,为了保险起见,建议直接使用root权限。

3、用的更多的情况是直接读取PCI设备配置空间的头部信息。它使用的参数是-x。

5、要获得PCI设备的代号,可以直接执行lspci命令。

2、接下来我们通过setpci命令向偏移量0x60处,写入1个字节的数据,将0变为0x0f。sudo setpci -s 00:00.0 60.B=f命令说明:sudo:提升root权限-s:与lspci命令类似,用于指明pci设备60.B:60是从0x60处开始,B说明要写入字节数据。=f:要写入的数据
