pcie中 rc 的type 1配置空间
1、rc 的 bar0/bar1 做什么用的?
在 Root Complex(RC) 中,BAR0 和 BAR1 的作用与 普通 PCIe Endpoint 类似:
-
BAR0:通常映射设备的 控制寄存器空间;
-
BAR1:在 64-bit 地址映射 场景下,作为 BAR0 的高 32 位地址扩展,两者共同组成一个 64-bit 的 Memory BAR。
rc 的bar0 和bar1 配置32bit , ep 可以通过bar 去访问rc 的内部寄存器,比如dma 寄存器
rc 的bar0 和bar1 可以配置成64bit(rambus 家) ep 可以通过bar01 去访问 rc 的config配置空间
2、rc 的 mem base /limit 已经prefetchable 这些做什么用的?
- Prefetchable Memory Space(P-MMIO)
- Non-Prefetchable Memory Space(NP-MMIO)
- IO Space(IO)
上述这些是rc 给ep 分配地址范围,
作用 ep 的 TLP (Mrd/Mwr 读写的地址)
如果访问在rc 配置的mem base 和limit 之间 ,那么rc 回复 UR
如果访问在rc 配置的mem base 和limit 之间 ,那么rc 回复 UR
3 、rc 发出的mem 读写与 mem base/limit /prefetchable 有关系吗?
无关系,rc 可以发送出 任意的地址的mwr/mrd

浙公网安备 33010602011771号