Solaris 7 のソフトウェア開発 (追補)

tran_bus_reset()

tran_bus_reset(9E) は、ターゲットをリセットすることなく SCSI バスをリセットする必要があります。


#include <sys/scsi/scsi.h>

	int prefix tran_bus_reset(dev_info_t *hba_dip, int level);

level には次を指定します。

RESET_BUS

ターゲットではなく、SCSI バスのみをリセットする

scsi_hba_tran(9S) 構造体の tran_bus_reset() ベクトルは、ユーザーがバスリセットを開始したときに呼び出される HBA エントリポイントを指すように HBA ドライバが attach(9E) を実行する間に、初期化される必要があります。

実装はハードウェアにより異なります。ターゲットに影響を与えることなく SCSI バスをリセットするのが不可能な場合は、HBA ドライバは RESET_BUS の実行に失敗するか、このベクトルを初期化しません。

詳細は、『Writing Device Drivers』の「Converting Device Drivers to Support Hotplugging」を参照してください。