個々の PCIe エンドポイントデバイス (または直接 I/O を割り当てが可能なデバイス) をドメインに割り当てることができます。PCIe エンドポイントデバイスをこのように使用することで、I/O ドメインにデバイスをより細かく割り当てることが可能になります。この機能は、直接 I/O (Direct I/O、DIO) 機能により提供されます。
DIO 機能によって、システム内の PCIe バスの数よりも多くの I/O ドメインを作成できます。I/O ドメインの最大数は現在、PCIe エンドポイントデバイスの数によってのみ制限されます。
PCIe エンドポイントデバイスは、次のいずれかです。
スロットの PCIe カード
プラットフォームにより識別されるオンボードの PCIe デバイス
次の図は、PCIe エンドポイントデバイス PCIE3 が I/O ドメインに割り当てられている状態を示しています。I/O ドメインのバス pci_0 とスイッチは、いずれも仮想のものです。PCIE3 エンドポイントデバイスには、primary ドメインではアクセスできなくなっています。
I/O ドメインで、pci_0 ブロックとスイッチは、それぞれ仮想ルートコンプレックスと仮想 PCIe スイッチです。このブロックとスイッチは、primary ドメインの pci_0 ブロックとスイッチに似ています。primary ドメインで、スロット PCIE3 のデバイスは元のデバイスの「シャドウ」であり、SUNW,assigned として識別されます。
![]() | 注意 - ldm remove-io コマンドを使用して PCIe エンドポイントデバイスを primary ドメインから削除したあと、Oracle Solaris ホットプラグ操作を使用してそのデバイスをホットリムーブすることはできません。PCIe エンドポイントデバイスの交換または取り外しの詳細は、PCIe ハードウェアの変更を参照してください。 |
図 5 PCIe エンドポイントデバイスの I/O ドメインへの割り当て
ldm list-io コマンドを使用して、PCIe エンドポイントデバイスの一覧を確認します。
DIO 機能により、スロットの任意の PCIe カードを I/O ドメインに割り当てることができますが、サポートされるのは特定の PCIe カードのみです。直接 I/O のハードウェア要件とソフトウェア要件を参照してください。
![]() | 注意 - ブリッジを持つ PCIe カードはサポートされません。PCIe の機能レベルの割り当てもサポートされません。サポートされていない PCIe カードを I/O ドメインに割り当てた場合、予期しない動作が引き起こされることがあります。 |
次の項目は、DIO 機能についての重要な詳細です。
この機能は、ソフトウェアのすべての要件が満たされている場合にのみ有効です。直接 I/O のハードウェア要件とソフトウェア要件を参照してください。
ルートドメインに割り当てられた PCIe バスに接続されている PCIe エンドポイントのみが、DIO 機能によってほかのドメインに割り当て可能です。
DIO を使用している I/O ドメインは、ルートドメインの実行中のみ PCIe エンドポイントデバイスにアクセスできます。
ルートドメインをリブートすると、PCIe エンドポイントデバイスが存在する I/O ドメインに影響が及びます。PCIe エンドポイントを構成した状態のルートドメインのリブートを参照してください。ルートドメインは、次のタスクも実行します。
PCIe バスを初期化して管理します。
I/O ドメインに割り当てられている PCIe エンドポイントデバイスにより引き起こされたすべてのバスエラーを処理する。PCIe バスに関連するすべてのエラーを受け取るのは primary ドメインのみであることに注意してください。