强制向 PCI 设备分配特定的 I/O 端口范围

强制向 PCI 设备分配特定的 I/O 端口范围

我正在尝试将驱动程序移植到 Linux,但该设备不响应​​在 Linux 下向其 I/O 端口范围发出的命令。它在 Windows 下正确响应,为它分配了不同的端口范围。

我怀疑一个可能的问题是它与 Linux 内核分配给它的 I/O 端口范围在某种程度上不兼容。

I/O 端口在引导期间(加载驱动程序之前)通过正常 PCI 自动配置进行配置,并反映在 PCI BAR 和lspci/sys/bus/pci/.../resource*

BIOS 设置既不会改变端口范围,也不会改变任一操作系统上的行为。

有没有办法强制 Linux PCI 子系统将特定的 I/O 端口范围分配给特定的设备?

或者至少以某种方式导致分配的端口号发生变化?

(如果您认为没有办法做到这一点,请具体说明您是如何得出这个结论的)

相关内容