所以我知道有一个32位的PCI BAR(基址寄存器)可以在64位操作系统上访问(这个链接给出了一些关于它的信息,我自己已经测试过了)(让我们说它是Linux操作系统),但是64位的PCI BAR(基址寄存器)可以在32位操作系统上工作吗?
如果有人能指出任何关于它的文档或他们实际实验的经验,那就太好了。
如果对这个问题有任何澄清,请随时提出。
我们做了一个测试来确认64位PCI BAR是否可以在32位系统上工作。
我们在64位系统上创建了一个32位虚拟机,该虚拟机附加了一个64位PCI BAR设备,并将PCI功能(虚拟功能,也是64位)传递到VM上。当在VM上使用lspci
命令时,我们看到32位VM上通过的设备的64位BAR映射。我们还发送了数据包(测试通过是否在VM上工作),它们正常工作。
在32位虚拟机上执行lspci
命令的结果如下:lspci输出