Sep 21, 2018 原创文章
C6678 PCIE(1)-- 配置地址转换
1、Outbound Address Translation(OAT)
存储器域访问PCI域,把设备内部地址映射到PCIE总线上。
2、Inbound Address Translation(IAT)
PCI域访问存储器域、把PCIE总线地址映射到设备内部上。
RC访问EP: RC存储器域->outbound->RC PCI域->EP PCI域->inbound->EP存储器域
EP访问RC:EP存储器域->outbound->EP PCI域->RC PCI域->inbound->RC存储器域
Out即出去,发起访问的一侧,须要进行outbound,去访问对端
In即进来,被访问的一侧,须要进行inbound,使得对端能够访问
EP访问RC演示样例(蓝色箭头):
(1)首先,EP须要配置outbound,RC须要inbound(一般RC端不用配),这样就建立了EP端0x20000000到RC端0x50000000的映射
(2)在RC端改动0x50000000的内容,EP端能够看到对应的变化。从EP端读/写0x20000000和从RC端读/写0x50000000,结果是一样的
RC访问EP演示样例(黑色箭头):
(1)首先,RC端须要配置outbound(一般内核中配好),EP端须要inbound(0x5b000000 inbound到BAR2),这样就建立了RC端0x20100000(BAR2)到EP端0x5b000000的映射。
(2)在EP端改动0x5b000000内存的内容,在RC端0x20100000能够看到对应的变化,从RC端读/写0x20100000和从EP端读/写0x5b000000,结果是一样的。