当可用内存较少时,映射BAR中提到的内存

时间:2014-03-26 08:18:07

标签: linux pci

我正在为PCIe网络设备编写驱动程序。我还在努力学习,所以我的问题可能就像一个简单的问题,因为我不了解大部分事情。

从我读过的BAR0地址开始,内存大小约为256MB。但是我只有128MB。

所以我的问题是如何映射这个BAR以便访问MMIO区域。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

内存映射的设备只响应内存地址。它不占用系统中的任何物理RAM。通常,内存映射设备被分配给不与物理内存重叠的内存地址。

您的典型x86处理器具有32位地址空间(0x00000000-0xFFFFFFFF)。如果你有128MB的RAM,它占用物理地址0x00000000-0x08000000(粗略)。这为PCI设备留下了大量超过0x08000000的空间。

查看PCI设备BAR的地址。它们可能都是地址空间上半部分(0x80000000或更高)的所有值。