本文主要是介绍临时关闭Pcie ACS 重定向服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 背景
在PCIe总线中,P2P(Peer-to-Peer)直通是指在PCIe拓扑中两个EndPoint设备之间直接进行数据传输,而不经过RC侧Memory,P2P直通可以提高数据传输的效率和软件设计的灵活性,P2P通信方式如下图所示。
1.1 pcie p2p配置,地址匹配举例
EP1 InBound 配置:
base_addr: Bar0 ; target_addr: 0x900000000 (ep的ddr地址) ; limit_addr长度: 0x10000000
EP2 OutBound 配置:
base_addr:0x900000000 (ep的ddr地址) ; target_addr: Bar0 ; limit_addr长度: 0x100000000
这种配置方式就可以让ep1和ep2通过Switch完成p2p
2. 查看拓扑
lspci -vt 查看pcie拓扑
3. 设置ACS访问控制
如果说p2p被重定向到了RC侧,RC不会再将数据通过bar空间发送到目的设备去,所以需要关闭p2p的重定向。
pcie spec 关于ACS控制寄存器描述如下:
根据上面的拓扑,关闭p2p重定向命令:
setpci -v -s 68:10.0 ECAP_ACS+6.w=0
4. 永久关闭可以在BISO里关闭:
重启操作系统开机时按del进入BIOS关闭ACS功能,不关VT-d只关闭ACS功能,具体路径:Path: Advanced -> Chipset Configuration -> North Bridge -> IIO Configuration -> Intel VT for Directed I/O (VT-d) -> ACS Control -> Enable / Disable.
这篇关于临时关闭Pcie ACS 重定向服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!