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 |
vmectl
〃
〃 |
VME_REG_BASE_SET ※ 3つの機能が1つになった
VME_REG_BASE_GET
VME_ABORT_INTR
VME_MBOX_DISABLE
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_SYSFAIL_STAT
VME_LED_SET |
※ スレーブウィンドウの切り替えを自動で行うため必要なし
※ 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
SET_ABORT_PID VME_NEGATE_SYSFAIL VME_INSTALL_MBOX VME_REMOVE_MBOX
VMEMBOX_WAIT |
vmectl |
VME_REG_BASE_SET ※ 3つの機能が1つになった
VME_REG_BASE_GET
VME_ABORT_INTR VME_SYSFAIL_DEASSERT
VME_MBOX_SET
VME_MBOX_DISABLE
VME_MBOX_WAIT |