我在64位linux主机上使用64位PCI Express卡,问题是它的条形码是64位但总是得到一个位于32位地址范围的地址,即BAR的32位总是为零。 / p>
如何强制使用真正的64位地址?我尝试通过重写BIOS枚举以及内核的启动时间args来强制执行它,以便内核可以枚举pci设备,但结果与BIOS相同。
Linux不支持真正的64位地址吗?
答案 0 :(得分:0)
您可以尝试以下方法。 首先,在内核中启用PAE(物理地址扩展)。然后使用setpci命令或从驱动程序,将较高的32位条形寄存器更改为非零值,如果您的终端设备位于pci网桥下,则不要忘记更改预先获取的基础高位32位和预置可取适当限制高32位寄存器。