Linux内核4.7(Arch ARM64)不会创建" resource0"文件在/ sys / bus / pci / devices / * /中用于PCI BAR0

时间:2016-08-12 15:25:36

标签: linux arm fpga mmap pci-bus

我正在开发一个项目,我需要通过PCI BAR0从用户空间访问FPGA内存。

我以前在旧内核中做的是打开名为 resource0 的文件,该文件位于 / sys / bus / pci / devices / my_device / 中,然后使用 mmap()函数,它将FPGA内存暴露给用户空间。

不幸的是,在内核版本4.7(架构ARM64)中,似乎由于某种原因没有创建resource0文件。

当我使用 lspci 时,我可以看到系统识别出FPGA的PCI BAR。 另外,当我搜索 / sys / bus / pci / devices / my_device / 目录时,我可以看到有一个名为资源的文件,其中包含的地址是写在其中的PCI BAR。

是否有人熟悉类似的情况? 如何让linux创建 resource0 文件?

1 个答案:

答案 0 :(得分:3)

我理解您的担忧,您可以尝试使用未在上游接受的Tree补丁。

https://patchwork.codeaurora.org/patch/2059/

http://lists.infradead.org/pipermail/linux-arm-kernel/2015-July/359435.html

它可以帮助您在用户空间中映射PCI资源文件。