我想通过将新的(页面对齐的)地址写入BAR0 / 1来更改PCI设备的IO地址。当我使用BIOS功能执行此操作时,无法在新地址访问PCI设备。
还有什么需要做才能让它发挥作用吗?我在实模式下使用Assembler。
答案 0 :(得分:0)
覆盖BAR应该更改设备的地址。 (只要你做得恰到好处。)
设备是否在桥后?如果是这样,您还需要更新桥配置寄存器。
此外,芯片组/根复合体可能具有自己的总线解码配置。检查芯片组数据表。
答案 1 :(得分:0)
如果您的终点设备位于网桥后面,则相应地更改可预先获取的Base 32位和Pre-fetchable Limit Upper 32位寄存器。我不认为你需要担心根复合体。