在64位Linux主机上将地址分配给64位pcie卡

时间:2012-05-16 08:20:56

标签: linux-kernel linux-device-driver pci-bus pci-e

我在64位linux主机上使用64位PCI Express卡,问题是它的条形码是64位但总是得到一个位于32位地址范围的地址,即BAR的32位总是为零。 / p>

如何强制使用真正的64位地址?我尝试通过重写BIOS枚举以及内核的启动时间args来强制执行它,以便内核可以枚举pci设备,但结果与BIOS相同。

Linux不支持真正的64位地址吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下方法。 首先,在内核中启用PAE(物理地址扩展)。然后使用setpci命令或从驱动程序,将较高的32位条形寄存器更改为非零值,如果您的终端设备位于pci网桥下,则不要忘记更改预先获取的基础高位32位和预置可取适当限制高32位寄存器。