ドライバ強化テストハーネスは Solaris 開発者クラスタや全体ディストリビューションクラスタに含まれています。どちらの Solaris クラスタもインストールしていない場合は、プラットフォームに合ったテストハーネスパッケージを手作業でインストールする必要があります。
テストハーネスパッケージ (SUNWftduu、SUNWftdur、および SUNWftdux) をインストールするときは、pkgadd(1M) を使用します。
パッケージの存在するディレクトリに移動し、スーパーユーザーとして次のように実行します。
# pkgadd -d . SUNWftduu SUNWftdur SUNWftdux |
テストハーネスをインストールしたら、/kernel/drv/bofi.conf ファイルを編集して、ドライバに作用できるようにハーネスを構成します。テストハーネスの属性については、次の節の説明を参照してください。
ハーネスの構成が完了したら、システムを再起動してハーネスドライバを読み込みます。
テストハーネスの動作は、/kernel/drv/bofi.conf 構成ファイルに設定されている起動時の属性によって制御されます。
ハーネスを最初にインストールしたときに、次の属性を設定して、ドライバへの DDI アクセスをハーネスが横取りするようにします。
PCI バスなどのバス連結の種類
テスト中のドライバの名前
たとえば xyznetdrv という PCI バスネットワークドライバをテストする場合は、次の属性値を設定します。
bofi-nexus="pci" bofi-to-test="xyznetdrv" |
上記以外の他の属性は、PIO を使用している周辺装置からの読み書き、および DMA を使用している周辺装置とデータのやりとりをする、Solaris DDI データアクセスメカニズムの使用状況やハーネスの検査に関する属性です。
この属性を設定すると、テストハーネスは PIO DAF に渡される引数の整合性が検査されます。
この属性を設定すると、ddi_map_regs_setup() によって返される対応付けされたアドレスが DAF のコンテキスト以外では使用されていないことを、テストハーネスが確認します。
この属性を設定すると、テストハーネスは DMA 関数の使い方が正しいことを検証し、ドライバが標準に準拠して ddi_dma_sync() を使用していることを確認します。