测试
说明:
进行测试以验证 TMDS243EVM/TMDS64EVM PCIe EP 的 PCIe 入站 ATU 和 BAR 配置是否正常工作。
默认情况下,在 SysConfig 中为 pcie_enumerate_ep 示例应用程序设置了以下 BAR 配置:
- 入站地址转换 0:
此 ATU 配置使用区域索引 0,该区域索引具有一个链接到外部结构 bar0_mem 的 32Kb 不可预取 32 位存储器 BAR。无法为该测试修改此入站 ATU 配置,因为它是确保基于 RC VFIO 的示例应用程序 ti-sample-vfio 正常运行所必需的。 - 入站地址转换 1:
此 ATU 配置使用区域索引 1,该区域索引具有一个链接到外部数据缓冲区 bar1_data 的 64MB 可预取 32 位存储器 BAR。可以为此测试修改入站 ATU,因为它专门用于测试各种 BAR 配置。 - 入站地址转换 2:
此 ATU 配置使用区域索引 2,该区域索引具有一个链接到外部数据缓冲区 bar2_data 的 1Gb 不可预取 64 位存储器 BAR。可以为此测试修改入站 ATU,因为它专门用于测试各种 BAR 配置。
执行:
- 在 SysConfig 文件中为 pcie_enumerate_ep 应用程序的入站地址转换 1 和 2 设置所需的 BAR 配置。
- 检查所需的 PCIe EP BAR 是否在基于 Linux 的 RC 硬件上正确配置。启动时,配置的 BAR 可在 PCIe 配置空间中显示为禁用,如下图所示:
- 运行 RC 示例应用程序 ti-sample-vfio。打开第二个 Linux 终端并检查 PCIe EP 配置空间。当程序在 EP 初始化和 BAR 映射后停止时,相应的 BAR 现在可被启用(未显示为禁用)。
- 继续执行 RC 示例应用程序 ti-sample-vfio。程序可以正常继续并在没有任何故障的情况下结束。
测试
说明
进行测试以验证 TMDS243EVM/TMDS64EVM PCIe EP 的 PCIe 入站 ATU 和扩展 BAR 配置是否正常工作。
为此,为 PCIe EP 定义了多达 6 种不同的 BAR 配置:
- 入站地址转换 0:
此 ATU 配置使用具有 32Kb 不可预取 32 位存储器 BAR 的区域索引 0。 - 入站地址转换 1:
此 ATU 配置使用具有 32Mb 可预取 32 位存储器 BAR 的区域索引 1。 - 入站地址转换 2:
此 ATU 配置使用具有 512Mb 不可预取 32 位存储器 BAR 的区域索引 2。 - 入站地址转换 3:
此 ATU 配置使用具有 128 字节 32 位 I/O BAR 的区域索引 3。 - 入站地址转换 4:
此 ATU 配置使用具有 1Kb 32 位 I/O BAR 的区域索引 4。 - 入站地址转换 5:
此 ATU 配置使用具有 8Kb 32 位的区域索引 5。I/O BAR。
执行:
- 在 Sysconfig 文件中为 pcie_enumerate_ep 应用程序设置所述的 BAR 配置。
- 检查所需的 PCIe EP BAR 是否在基于 Linux 的 RC 硬件上正确配置。启动时,配置的 BAR 可在 PCIe 配置空间中显示为禁用,如下图所示:
- 带 testbars 参数运行 RC 示例应用程序 ti-sample-vfio。打开第二个 Linux 终端并检查 PCIe EP 配置空间。当程序在 VFIO 初始化后停止时,相应的 BAR 现在可以启用(未显示为已禁用),如下图所示。
- 继续执行 RC 示例应用程序 ti-sample-vfio。该程序可执行扩展 BAR 测试和输出 BAR 信息,如下图所示。