1. HOME
  2. FAQ
  3. Solaris2.x OldドライバーからNewドライバーへの変更内容について

FAQ

Solaris2.x OldドライバーからNewドライバーへの変更内容について

Solaris2.x OldドライバーからNewドライバーへの変更内容について

  • 概要

VMEbusドライバ Oldドライバー(バージョン1.x)からNewドライバー(バージョン2.x)へ移行する際には、

以下の変更が必要になります。

1.DMAデバイス BLT,MBLTのデバイスディスクリプタ名を変更する必要がある。

2.ioctl()の機能名が変わっている物は名前を変更する必要がある。

3.ioctl()の機能が無くなってしまった物に関しては置き換える必要がある。

4.vmeplusドライバーにてサポートされていたioctl()がvmectlドライバーへ移動した関係で
デバイスディスクリプタ名を"/dev/vmectl"へ変更する必要がある。

1.DMAデバイスディスクリプタ名を変更する物

Old device nameNew device name
/dev/vmedma24d32b
/dev/vmedma32d32b
/dev/vmedma24d32mb
/dev/vmedma32d32mb
/dev/fvmedma24d32b
/dev/fvmedma32d32b
/dev/fvmedma24d32mb
/dev/fvmedma32d32mb
/dev/vmedma24blt
/dev/vmedma32blt
/dev/vmedma24mblt
/dev/vmedma32mblt
/dev/vmefdma24blt
/dev/vmefdma32blt
/dev/vmefdma24mblt
/dev/vmefdma32mblt

2.ioctl()機能名 互換リスト

2-1 名前を変更する必要がある物

対応ドライバ Old style機能名対応ドライバ New style機能名
vmedvmaVME_MAP_SLAVE
VME_UNMAP_SLAVE
VME_SLAVE_SET_MAP
vmedvmaVME_SLAVE_MAP
VME_SLAVE_UNMAP
VME_SLAVE_SET
vmeplusVME_SET_REG
VME_SET_VSIA16BASE
VME_ENA_VSIA16
VME_GET_REG
VME_GET_VSIA16BASE
VME_DIS_VSIA16
SET_ABORT_PID
VME_ASSERT_SYSFAIL
VME_NEGATE_SYSFAIL
VME_DISWP
VME_ENAWP
VME_INSTALL_MBOX       VME_REMOVE_MBOX VMEMBOX_WAIT
VME_MBOXWAIT
vmectl








vmeplus

vmectl

〃 〃

〃 〃
VME_REG_BASE_SET
※ 3つの機能が1つになった       VME_REG_BASE_GET
※ 3つの機能が1つになった VME_ABORT_INTR
VME_SYSFAIL_ASSERT
VME_SYSFAIL_DEASSERT
VME_TRANSFER_MODE_SET
VME_TRANSFER_MODE_SET
VME_MBOX_SET
VME_MBOX_ENABLE
※ 2つのioctl()を使用します VME_MBOX_DISABLE
VME_MBOX_REMOVE
※ 2つのioctl()を使用します VME_MBOX_WAIT
VME_MBOX_WAIT

2-2 機能が無くなってしまった物

対応ドライバ Old style機能名対応ドライバ New style 対応について
vmeplusVME_SET_SLAVE_WIN
VME_SET_SLAVEWIN
VME_GET_SLAVE_WIN
VME_GET_SLAVEWIN       VME_GET_SLAVEWPERR VME_SET_VME_WIN
VME_GET_VME_WIN VME_SYSFAIL_STAT VME_LED_SET
VME_LED_GET
※ スレーブウィンドウの切り替えを自動で行うため必要なし       ※ Write Postingの設定は"/etc/system"ファイルで変更します ※ マスターウィンドウの切り替えを自動で行うため必要なし ※ サポートなし ※ FRCctlドライバにてサポート、但しドライバのバージョン
によってサポートしていない物がある

2-3 デバイスディスクリプタ名を"/dev/vmectl"へ変更する必要がある物

対応ドライバ Old style機能名対応ドライバ New style機能名
vmeplusVME_SET_REG
VME_SET_VSIA16BASE
VME_ENA_VSIA16       VME_GET_REG
VME_GET_VSIA16BASE
VME_DIS_VSIA16 SET_ABORT_PID
VME_ASSERT_SYSFAIL VME_NEGATE_SYSFAIL VME_INSTALL_MBOX VME_REMOVE_MBOX VMEMBOX_WAIT
VME_MBOXWAIT
vmectlVME_REG_BASE_SET
※ 3つの機能が1つになった       VME_REG_BASE_GET
※ 3つの機能が1つになった VME_ABORT_INTR
VME_SYSFAIL_ASSERT VME_SYSFAIL_DEASSERT VME_MBOX_SET
VME_MBOX_ENABLE
※ 2つのioctl()を使用します VME_MBOX_DISABLE
VME_MBOX_REMOVE
※ 2つのioctl()を使用します VME_MBOX_WAIT
VME_MBOX_WAIT