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 name | New 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 | 機能名 |
vmedvma | VME_MAP_SLAVE VME_UNMAP_SLAVE VME_SLAVE_SET_MAP | vmedvma | VME_SLAVE_MAP VME_SLAVE_UNMAP VME_SLAVE_SET |
vmeplus | VME_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 対応について |
vmeplus | VME_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 | 機能名 |
vmeplus | VME_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 | vmectl | VME_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 |