pci_resource_start(pdev, bar) return 应该在每次启动时使用相同的物理地址吗?

Should pci_resource_start(pdev, bar) return same physical address in each boot?

我注意到 pci_resource_start(pdev, bar) returns 在同一台机器上的每次引导中都有不同的地址。如果它 returns 一个 'physical address',它不应该在同一台机器上保持一致吗?我错过了什么吗?

BIOSand/orOS在每次启动时为每个设备分配地址space。从一次启动到下一次启动的一致性没有要求,但人们会期望算法是确定性的。对系统硬件或引导参数的任何更改都可能导致它发生变化。 (例如,即使在启动过程中插入 USB 设备也可能会导致变化。)我没有注意到地址 space 分配在没有任何其他更改的情况下重新启动时发生变化。