0

我想通过将新的(页面对齐的)地址写入 BAR0/1 来更改 PCI 设备的 IOaddress。当我使用 BIOS 功能执行此操作时,我无法访问新地址的 PCI 设备。

是否还需要做其他事情才能让它发挥作用?我在实模式下使用汇编程序。

4

2 回答 2

0

如果您的端点设备位于网桥后面,则适当更改 Pre-fetchable Base Upper 32 Bit 和 Pre-fetchable Limit Upper 32 Bit 寄存器。我认为您无需担心根复合体。

于 2014-05-31T00:34:16.523 回答
0

覆盖 BAR 应该会更改设备的地址。(只要你做得对。)

设备是否位于网桥后面?如果是这样,您还需要更新网桥配置寄存器。

此外,芯片组/根复合体可能有自己的总线解码配置。检查芯片组数据表。

于 2012-08-01T20:44:16.937 回答