如何确保MMIO访问PCIE可预提取BAR不会在Linux内核中得到优化

时间:2018-08-24 11:46:35

标签: linux pci-e ioremap

我在x86_64平台上的Linux内核上遇到关于PCIE预取BAR访问的一些问题 对于我的PCIE设备,BAR 2是可预取的,而BAR5是不可预取的,并且两者都是IORESOURCE_MEM。 我使用了ioremap来映射两个栏,并使用writel来访问它们。

奇怪的是,使用writel编写BAR2(可预取)有时会丢失,但是写入BAR5可以。两个BAR的写入频率相同且非常高。

有人可以提出一些建议吗?尝试映射和访问可预取的PCIE BAR时,Linux内核中有什么特别的东西吗? ioremap是映射可预取的PCIE BAR的最佳API吗?

0 个答案:

没有答案