PCIeドライバーを実装しています。割り込みを有効または無効にすることができるレベル、または割り込みを有効にする必要があるレベルを理解したいと思います。OSは、どのプラットフォームにも関連していると想定しているので、意図的に指定していません。レベルとは、次のことを意味します。
- OS固有の割り込み処理フレームワーク
- 割り込みは、PCI / PCIe構成スペースレジスタ(COMMANDレジスタなど)で無効または有効にできます。
- 割り込みもデバイスレベルでマスクできます。たとえば、ホストに対して特定の割り込みをトリガーしないようにデバイスを構成できます。
PCIeで使用されている割り込みタイプ(INTxエミュレーション、MSIまたはMSI-X)は、ホストOSに配信する必要があることを理解しています。
だから私の質問は-実際にはすべてのレイヤーで割り込みを有効または無効にする必要があるのですか、それともハードウェアに最も近い、たとえば関連するPCIレジスタでのみ十分ですか?