ドライバをLinuxに移植しようとしていますが、デバイスはLinuxのI / Oポート範囲で実行されたコマンドに応答しません。他のポート範囲が割り当てられているWindowsは正しく応答します。
私はそれがLinuxカーネルによって割り当てられたI / Oポートの範囲とどういうわけか互換性がないことが可能な問題だと思います。
I / Oポートは、起動中(ドライバがロードされる前に)通常のPCI自動設定で設定され、PCI BARlspci
および/sys/bus/pci/.../resource*
。
BIOS設定はポート範囲やオペレーティングシステムの動作を変更しません。
Linux PCIサブシステムが特定のI / Oポート範囲を特定のデバイスに割り当てるように強制する方法はありますか?
それとも、少なくとも何らかの方法で割り当てられたポート番号を変更しますか?
(これを行う方法がないと思ったら、どうやってこのような結論を下したのか具体的に記述してください。)