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

 

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