VME Howto
John Huggins and Michael Wyrick,
[email protected]
v0.8a, 30 July 1998
The Linux JF Project
v0.8a-j, 2000 �N 6 ��
���̕��͂́A�g�ݍ��@��V�X�e������̐l�X�� VMEbus �p Pentium �{�[�h
�� PCI local bus ��p���� VMEbus �p�v���Z�b�T�E�{�[�h�łǂ̂悤�ɂ���
Linux �����̂�������߂ɐ��܂�܂����B
______________________________________________________________________
�ڎ�
1. �͂��߂�
1.1 �v�������m��
1.2 �ǂ����� VMEbus �V�X�e���� Linux ��g���̂��H
1.3 �ړI
1.4 �t�B�[�h�o�b�N
1.5 VMELinux ���r�W��������
1.6 ���쌠�\��/�z�z
2. VMELinux �J�[�l���E�h���C�o�̃C���X�g�[��
2.1 �\�[�X�R�[�h�̃_�E�����[�h
2.2 �\�[�X�R�[�h�̃C���X�g�[��
2.3 VMELinux �R���|�[�l���g�̃R���p�C��
2.4 VMELinux �J�[�l���E���W���[���̃��[�h
2.5 ����ȓ_
3. VMEUtils �� VMEShell �p�b�P�[�W�� VMEbus �ƑΘb�����@
3.1 VMEUtils �v���O�����Ƃ͉���
3.2 VMEShell �X�N���v�g�Ƃ͉���
3.3 vmemap �R�}���h
3.4 �o�C�g�A���[�h�A�����O���̃f�[�^��ǂ�
3.5 �o�C�g�A���[�h�A�����O���̃f�[�^���
3.6 �t�@�C���� VMEbus �̃f�[�^��ǂ�
3.7 VMEbus �̃f�[�^��t�@�C���֏���
3.8 �p�����[�^
3.9 �I�v�V����
3.10 DMA ���[�h�Ɋւ��钍��
4. �f�o�C�X�h���C�o�ɂ�� Tundra Universe PCI-VME �u���b�W�Ƃ̑Θb�̎d��
4.1 VMELinux �Ƌ��ɗp������f�o�C�X�h���C�o
4.2 VMEMaster �f�o�C�X�h���C�o
4.3 VMESlave �f�o�C�X�h���C�o
4.4 Universe �̃��W�X�^�̒��ڐ���
4.5 read()
4.6 write()
4.7 lseek()
4.8 ioctl()
4.9 open() �� close()
5. VMEbus�ALinux�AVMELinux �̒���
5.1 �s���E�R�l�N�^�ƃ\�P�b�g�E�R�l�N�^
5.2 Eurocard �̑g�ݗ���
5.3 Linux �͈����ł���
5.4 Linux �͈��肵�Ă���
5.5 Linux �̓_�C�i�~�b�N�ł���
6. ���݂����Č������̃{�[�h�̃T�|�[�g�ɂ���
6.1 Xycom �� XVME655 Pentium VMEbus �{�[�h
6.2 Xycom�� XVME656 Pentium VMEBus �{�[�h
6.3 Dynatem DPC1-0367
6.4 �T�|�[�g�v�撆�̃{�[�h
7. �܂Ƃ�
8. FAQ
8.1 �{�[�h�͂����Ƒ��݂���̂ɁA�����V�F���E���[�e�B���e�B�ŃA�N�Z�X���Ă݂�ƁA�A�X�^���X�N(*)�̍s�Ԃ��Ă��܂��B���Ȃ́H
8.2 VMELinux �͂ǂ����Ċ��荞�݂�n���h�����O����́H
8.3 ���� RedHat 5.1 ����Ă��܂��B�ł� VMELinux �̃v���O������R���p�C���ł��܂���B
9. ���{���ɂ���
______________________________________________________________________
1. �͂��߂�
1.1. �v�������m��
�g�ݍ��ݗp�� VMEbus �v���Z�b�T�E�{�[�h�� Linux ��g�����Ƃ͂������
�͂���܂���B�������A��b�I�Ȓm���ȏ�̂�̂��v������܂��B���̕���
�́ALinux �}�V����S�ɍ\�z���邽�߂̓��发�ł͂���܂���B
���� HOWTO �h�L�������g�𗝉�邽�߂ɂ́A�ȉ��̂��Ƃɐ��ʂ��Ă��Ȃ�
�Ă͂Ȃ�܂���B
o �J�[�l���̐ݒ�ƃR���p�C����s���āA�{�[�h�ɂ��Ă���F�X�Ȏ��Ӌ@
���g����悤�ɂ��邱�ƁB Kernel-HOWTO�A Kernel-HOWTO ���{���
o �l�b�g���[�N�@��̃Z�b�g�A�b�v�Ɛݒ�B NET-3 HOWTO�A Linux
Networking-HOWTO (Previously the Net-3 Howto) ���{���
o inetd �̃Z�b�g�A�b�v�B NET-3 HOWTO�A Linux Networking-HOWTO
(Previously the Net-3 Howto) ���{���
o PCI �� VME �̃u���b�W�`�b�v Tundra �� Universe �̃Z�b�g�A�b�v�Ǝg
�p�@�BTundra Universe ���W�X�^�E���x���� Universe �ɃA�N�Z�X���悤
�Ƃ��Ȃ�����A�V���� VMUtils �v���O������g���� Universe �Ɋւ���m
���͕s�K�v�ɂȂ�܂��B
o �ȉ��̂悤�Ȃ��낢��ȃl�b�g���[�N�֘A�p�b�P�[�W�̃R���p�C���ƃC��
�X�g�[���B Apache Site Wu-Ftpd FAQ
o VMEbus Rev. D �� VME64�B �ȉ��ɂ��炵�������܂��B VMEbus
International Trade Association (VITA)
���A��L�̂ǂꂩ�ɂ��ڂ��Ȃ���̂�����ꍇ�́A�����ŏЉ�Ă�
�郊���N�𗘗p���āA�S�Ẵp�b�P�[�W��n�m���Ă������Ƃ��������
���܂��B��X�͏�L�Ɋւ��Ă͂����Ȃ郁�[���ɂ�Ԏ��͏o���܂���B��
��͂��ꂼ��K�� HOWTO �̒��҂ւ��肢���܂��B�����̓n�[�h�E�G�A
�̐����Ǝ҂ւ����k���������B
���̕��͂́AVMELinux �̃C���X�g�[���� Xycom �� �� XVME-655(6U VME
processor board)�ł̎g�p�@��L�q���Ă��܂��BPentium �� Tundra �Ђ�
Universe �`�b�v��g�p���Ă��鑼�̃u�����h�̃{�[�h�� VMELinux �𑖂点
��\�͂�����͂��ł��B�e�X�g�ς݂̃{�[�h�ɂ��Ă� VMELinux �� Web �T
�C�g�ɂ��� Board Support �Z�N�V������Q�Ƃ��Ă��������B VMELinux
Project Web Site
1.2. �ǂ����� VMEbus �V�X�e���� Linux ��g���̂��H
VMEbus �R���s���[�^�̃I�y���[�e�B���O�V�X�e���͒ʏ�A���A���^�C���E�I
�y���[�e�B���O�V�X�e��(RTOS)�ł��B�����Ă����͍����ŏK���������
���B���̑��� RTOS �͌������E�̂ł����Ƃɑ��Ă��₭��������̂ŁA
�@�퐧���v���Z�X�����Ɍ����Ă��܂��B
VMEbus �́A���łȃR���s���[�^���Ƒ��ݐڑ��̃V�X�e��������܂��B��
���̃V�X�e���E�C���e�O���[�^�ɂ͂��̌��ł����K�v�ł��傤���A�܂�����
�������A���^�C���̉�����K�v�ł��傤�B�������A���A���^�C���̉����͕s�v
�����ȉ��̂悤�Ȃ�͕̂K�v�A�Ƃ����P�[�X���X����܂��B
o �l�b�g���[�N�\��
o telnet �����͗ގ��̃v���O�����ɂ�郊���[�g�A�N�Z�X
o FTP �����͗ގ��̃v���O�����ɂ��t�@�C���]��
o BOOTP �����͗ގ��̕��@�ɂ�郊���[�g�u�[�g
o �V�X�e�����荞�݂ɑ��鉞���̕��@
Linux �͂����̔\�͂�S�Ď����Ă��܂��B������ VMELinux �v���W�F�N
�g�����݂���̂ł��B
1.3. �ړI
VMELinux �̖ړI�́A VME �V�X�e���E�C���e�O���[�^�ɃI�y���[�e�B���O�E�V
�X�e���̕ʂ̑I���^���邱�Ƃł��B�@�\���L�x�ŐM�����������A�������
�R�X�g�� Linux �́A�g�ݍ��݃R���s���[�^�Y�ƊE�ɉ��b����܂��B�I�y
���[�e�B���O�E�V�X�e���������ł��邽�߂ɁA�o�ϓI�ȗ��R���� VME �����p
�ł��Ȃ��Ƃ����A�v���P�[�V�����������̂ł��BLinux �� VMELinux �h���C�o
�𗘗p����A���ł� VMEbus �͐V���ȉ\����̂ł��B
VMELinux �v���W�F�N�g�̖ړI�͈ȉ��̒ʂ�ł�:
o �t���[�� VMELinux �J�[�l���E�h���C�o�E�\�t�g�E�G�A��ێ��E���ǂ���
����
o VMEUtils �v���O������ VMEShell ���[�e�B���e�B�̂悤�ȕt�����l�v�f
�̂���\�t�g�E�G�A�̒�
o ���܂��܂ȃ��[�J���������Ă��� VME �v���Z�b�T�E�{�[�h�ł̃\�t�g�E�G
�A�̃e�X�g
o �e�X�g�ς݂̃{�[�h���i�� Web �x�[�X�̕����̈ێ�
o ���� HOWTO �̈ێ�
o ���̕�����̏������ǂ�̃R�[�h�Ɏ����A�����������X�̔\�͂�
�t���Ɋ��p�ł���悤�ɂ��邱��
o ��L�̃\�t�g�E�G�A�S�Ă̈ꎟ�z�z���ƂȂ�AVMELinux �̃��[�U���A����
����I���W�i���̃R�[�h��擾�ł��邱�Ƃ�ۏ��邱��
1.4. �t�B�[�h�o�b�N
VMELinux �͌���Ńe�X�g����Ă��܂����A���܂����삵���_�₤�܂����삵
�Ȃ������_�ɂ��Ă��ЃR�����g�𑗂��Ă��������B
The VMELinux Project (
[email protected]) �܂ŁA�C�y�ɃR�����g����肭
�������B
��X�͊e�X�� VME CPU �{�[�h�ɂ��Ă̌o������A���� HOWTO �ɕʂ̐�
���ڂ�����ł��B���̂Ƃ����X�� Xycom �Ђ̃{�[�h�݂̂ɂ��ċL
�q���܂��B
1.5. VMELinux ���r�W��������
Linux �J�[�l���E�h���C�o
o 1997 �N 11 �� v0.2 - Xycom �Ѓ{�[�h�ł̏����o�[�W����
o 1997 �N 12 �� v0.3 - �g�p�\�ȃo�[�W����
o 1998 �N 2 �� v0.6 - VME �A�N�Z�X���[�h�� DMA ���[�h�����
o 1998 �N 6 �� v0.8 - �V���� VMEUtils �������悤�ɂ������C��
o 1998 �N 6 �� 24 �� v0.8a - Web �T�C�g��Ō��s�o�[�W����������ł�
��悤�ɂ���
VMEUtils �v���O����
o 1998 �N 2 �� v0.6 - VMEbus �փA�N�Z�X���邽�߂̃R�}���h���C���E�C
���^�[�v���^�����
o 1998 �N 6 �� v0.8 - VMEShell ���[�e�B���e�B���@�\����悤�ɂ�����
���̖��_�� fix ����
o 1998 �N 6 �� 24 �� v0.8a - ���s�o�[�W������ Web �T�C�g��œ���ł�
��悤�ɂ���
VMEShell ���[�e�B���e�B
o 1998 �N 6 �� v0.8 - Linux �V�F���E�v�����v�g���� VMEbus �փA�N�Z�X
�����R�}���h���C���E���[�e�B���e�B������A�����̃V�F���E
�v���O������ VMEUtils �v���O�����Ƃ̃C���^�[�t�F�C�X��s��
o 1998 �N 6 �� 24 �� v0.8a - �V�F���E�v���O�����̑S�Ă̖��O��uvme�v
����n�܂�悤�ɕύX�����B���s�o�[�W������ Web �T�C�g��œ���ł���
�悤�ɂ���
1.6. ���쌠�\��/�z�z
���̕��͂̒��쌠�́AJohn Huggins �� VMELinux Project �ɂ���܂�
(Copyright 1997-1998)�B
�I���W�i����ς��Ȃ������́A���҂̋��Ȃ��ɕ����I�E�d�q�I���킸�A
�����郁�f�B�A�Ɏ��R�ɕ��ʂ܂��͔z�z�ł��܂��B�|���|��҂̌f�����
�ނȂ��ʂȋ��Ȃ��ɓ��l�ɂł��܂��B���ƓI�Ȕz�z�����A�܂����サ
�܂��B�������A���̂悤�Ȕz�z�͒��� The VMELinux Project
(
[email protected]) �ɂ��m�点��������悤���肢���܂��B
�h�L�������g����̈��p(�S���̃R�s�[��S���ւ̃|�C���^��܂ޔh��������
��)��O�̋��Ȃ��Ŏg���܂��B
���̃h�L�������g�S�̂̕����E�z�z�̍ۂɂ͒��쌠�Ɋւ��邱�̒��ӎ�����Y
�t����Ƃ��������Ă��������B�܂����̒��ӎ�����e�������̂��ꂼ��
�ɓY�t����悤�ɂ��Ă��������B
�ȒP�Ɍ����ƁA��X�͂�����\�ȃ`�����l����o�R���Ă��̕������L����
�y���邱�Ƃ���Ă��܂��B�������Ȃ���A��X�� HOWTO ������ copyright
�ŕی삵�Ă���AHOWTO ������Ĕz�z����v��ɂ��Ă͘A�����Ă������邱
�Ƃ�҂��Ă��܂��B
2. VMELinux �J�[�l���E�h���C�o�̃C���X�g�[��
2.1. �\�[�X�R�[�h�̃_�E�����[�h
VMELinux Web Site. ����z�z�L�b�g��_�E�����[�h�����������B
2.2. �\�[�X�R�[�h�̃C���X�g�[��
VME �p�Ɏ��Ă������f�B���N�g���Ƀt�@�C����u���܂� - ���O��
/universe �𐄏����܂��Bzipped/tarred �t�@�C����ȉ��̃R�}���h��͂�
�ĉ𓀂��܂��B
tar -xzf VMELinux_08a.tar.gz
3 �̃f�B���N�g�����ł��܂��B������ driver �� ca91c042 �ւ̃V���{���b
�N�E�����N�ł��B
ca91c042
vmeshell
vmeutils
driver
ca91c042 �̃f�B���N�g���ɂ́A�ȉ��̃t�@�C��������܂� -
ca91c042/
ca91c042/Makefile
ca91c042/ca91c042.c
ca91c042/ca91c042.h
ca91c042/README
ca91c042/e
ca91c042/ins
ca91c042/stat
ca91c042/uns
vmeshell �̃f�B���N�g���ɂ́A�ȉ��̃t�@�C��������܂� -
vmeshell/vmer
vmeshell/README
vmeshell/vmeseek
vmeshell/cmd.vme
vmeshell/vmew
vmeshell/vmeregw
vmeshell/vmeregr
vmeshell/vmefa
vmeshell/vmecall
vmeshell/e
vmeshell/ec
vmeshell/fa.vme
vmeshell/map.vme
vmeshell/tmp.vme
vmeshell/vmedb
vmeshell/vmedl
vmeshell/vmedw
vmeshell/vmemap
vmeshell/vmerb
vmeshell/vmerf
vmeshell/vmerl
vmeshell/vmerw
vmeshell/vmewb
vmeshell/vmewf
vmeshell/vmewl
vmeshell/vmeww
vmeutils �̃f�B���N�g���ɂ́A�ȉ��̃t�@�C��������܂� -
vmeutils/commands.cpp
vmeutils/commands.h
vmeutils/universe.h
vmeutils/Makefile
vmeutils/vmeutils.h
vmeutils/unilib.h
vmeutils/unilib.cpp
vmeutils/vmeutils.cpp
vmeutils/README
2.3. VMELinux �R���|�[�l���g�̃R���p�C��
ca91c042 �f�B���N�g���ɓ����āAVMELinux �f�o�C�X�h���C�o�E���W���[����
���܂��B
make
���̎��_�ŁA /dev �ɂ������h���C�o�E�t�@�C������Ȃ���Ȃ�܂�
��B�ȉ��̂悤�Ƀ^�C�v���Ă������� -
make devices
make ���I������ƁA�f�B���N�g���̒��Ɂuca91c042.o�v�Ƃ����t�@�C������
���Ă���ł��傤�B����̓��[�_�u���ȃ��W���[���ł��B���L�̃��[�h���邽
�߂̏���Ă��������B����� /dev �f�B���N�g���ɐ��́uvme... �v
�t�@�C�����ł��Ă���ł��傤�B
�f�o�C�X�t�@�C���� /dev �f�B���N�g���ɍ�����A�����̃p�[�~�b�V����
��ύX���Ȃ��Ă͂����܂���B�ȉ��̂悤�Ƀ^�C�v���Ă������� -
cd /dev
chmod 666 vme*
�t�@�C�����ǂ̂悤�Ɍ����Ă���ׂ��������܂��B
hostname:/dev# ls -l vme*
crw-rw-rw- 1 root root 70, 8 Jul 30 10:51 vme_ctl
crw-rw-rw- 1 root root 70, 0 Jul 30 10:51 vme_m0
crw-rw-rw- 1 root root 70, 1 Jul 30 10:51 vme_m1
crw-rw-rw- 1 root root 70, 2 Jul 30 10:51 vme_m2
crw-rw-rw- 1 root root 70, 3 Jul 30 10:51 vme_m3
crw-rw-rw- 1 root root 70, 4 Jul 30 10:51 vme_s0
crw-rw-rw- 1 root root 70, 5 Jul 30 10:51 vme_s1
crw-rw-rw- 1 root root 70, 6 Jul 30 10:51 vme_s2
crw-rw-rw- 1 root root 70, 7 Jul 30 10:51 vme_s3
hostname:/dev#
�uvmeutils�v�f�B���N�g���ֈڂ��Ă����Łumake�v�Ɠ��͂��܂��B
make
����Łuvmeutils�v�v���O�������R���p�C������܂��B���̃v���O�����͒���
�J�[�l���E�h���C�o�ƑΘb���܂��B����͒��ڃh���C�o�ƑΘb����v���O����
����ŏ��������Ǝv���Ă���l�̂��߂̎Q�l�ƂȂ��̂ł��B
�uvmeutils�v��A���[�U�̃o�C�i���E�t�@�C����u���f�B���N�g���փR�s�[��
�Ă��������B��X�̃V�X�e���ł́A����́u/usr/local/bin�v�ł��B���邢
�́A�uvmeutils�v�v���O������[�U�̃o�C�i���E�t�@�C����u���f�B���N�g
���փ����N���邱�Ƃ�ł��܂��B
�uvmeshell�v�f�B���N�g���ֈڂ�܂��B�����ɂ̓R���p�C������t�@�C���͂�
��܂���B�uvmeutils�v�v���O������g���� VMEbus �փA�N�Z�X���邽�߂�
�V�F���E�v���O����������܂��B�uvme�v�Ŏn�܂�S�Ẵt�@�C����
�u/usr/local/bin�v�f�B���N�g���փ����N���R�s�[����Ă��Ȃ���Ȃ�܂�
��B
����Ńh���C�o��g�����߂̏������ł��܂����B
2.4. VMELinux �J�[�l���E���W���[���̃��[�h
���Ȃ��� root �ł��邱�Ƃ�m�F���Ă��������B������ �ȉ��̂悤��
Universe �`�b�v�p�� VMELinux �J�[�l���E���W���[����g�ݍ���(���[�h)��
�܂��B
insmod ca91c042
�����́uins�v�Ƃ����^�C�v���āA���Ƃ̓V�F���X�N���v�g�ɂ܂����܂���
���B�I��������A�ȉ��̂悤�Ƀ^�C�v���Ă������� -
stat
��ʂɂ��̂悤�ȃ��W�X�^�̃��X�g���\�������ł��傤�B
Universe driver info:
Control Pointer = 0000
Stats reads = 0 writes = 0 ioctls = 0
LSI0_CTL = 00800000 LSI1_CTL = 00800000
LSI0_BS = C0000000 LSI1_BS = 00000000
LSI0_BD = C0010000 LSI1_BD = 00000000
LSI0_TO = 40009000 LSI1_TO = 00000000
LSI2_CTL = 00800000 LSI3_CTL = 00800000
LSI2_BS = 00000000 LSI3_BS = 00000000
LSI2_BD = 00000000 LSI3_BD = 00000000
LSI2_TO = 00000000 LSI3_TO = 00000000
image_va0 = 00000000 image_va1 = 00000000
image_va2 = 00000000 image_va3 = 00000000
Driver Program Status:
DMACTL 0 = 00000000 DMACTL 1 = 00000000
DMACTL 2 = 00000000 DMACTL 3 = 00000000
OkToWrite 0 = 0 OkToWrite 1 = 0
OkToWrite 2 = 0 OkToWrite 3 = 0
Mode 0 = 0 Mode 1 = 0
Mode 2 = 0 Mode 3 = 0
���A��L�ƈقȂ��Ă���Ή����Ԉ��Ă��܂��B
2.5. ����ȓ_
Universe �h���C�o�� PCI bus ��ł������ Universe �`�b�v��T�������Ă�
��܂����A�{�[�h�̐v���Ⴄ�ƒT�������Ȃ�������܂���B��X�� Xycom
�Ђ� XVME-655 �{�[�h�őS�Ẵ��[�`����e�X�g���܂����B Universe �Ђ�
PCI-VME �u���b�W�`�b�v�� PCI bus ������ Intel �{�[�h�ł�A���ꂪ��
���Ȃ������͂قƂ�ǂȂ��͂��ł��B���A���Ȃ������ɏo������ǂ���
��X�ւ��m�点���������B - The VMELinux Project (
[email protected])
3. VMEUtils �� VMEShell �p�b�P�[�W�� VMEbus �ƑΘb�����@
3.1. VMEUtils �v���O�����Ƃ͉���
���̃v���O�����͂��̂܂��s�ł��܂��B��x�X�^�[�g������A�R�}���h�E�v
�����v�g������܂��B�u?�v��^�C�v����R�}���h�̃��X�g������܂��B��
��ł�g����ł��傤���AVMEShell �X�N���v�g��g�������֗����Ƃ�������
�ɋC���t����邱�Ƃł��傤�B VMEShell �X�N���v�g�̓J�[�l���E�h���C�o��
�Θb���邽�߂� VMEUtils �v���O������g���̂ŁA���ϐ� PATH ��
VMEUtils �ւ̃p�X��ݒ肵�Ă����K�v������܂��B
�uvmeutils�v�̃\�[�X�R�[�h��A�J�[�l���E�h���C�o�ƒ��ڑΘb����d���̂�
��{�ł��B���ڃh���C�o�ƑΘb���v���O�������肽���l�ɂƂ��āA����
��̃\�[�X�t�@�C���͗ǂ�����ł��B
3.2. VMEShell �X�N���v�g�Ƃ͉���
VMEShell �v���O�����́AUNIX �V�F���E�X�N���v�g�ł��B����̓I�y���[�^��
VMEbus ��̃f�[�^�ɃA�N�Z�X���邽�߂̃V���v���ȕ��@����܂��B����
��̃R�}���h��g�����Ƃɂ��ŐV�̃A�N�Z�X����ۑ������e���|�����E
�t�@�C����[�U�̃��[�L���O�E�f�B���N�g���ɍ��܂��B����͂Ȃ��Ȃ���
�����@�\�ł��B�Ȃ��Ȃ�}�V�������x���O�I�t���A�ēx���O�C�����Ē��f��
���Ƃ��납�瑱�s����Ƃ��ɁAVMEbus �̏���ēx���肷��K�v���Ȃ�����
�ł��B����ɁA�����̃t�@�C���̓J�����g�E�f�B���N�g���ɕۑ�������
�ŁA�A�N�Z�X������ VME �{�[�h���ɈقȂ�f�B���N�g����ݒ肷��A����
����� VME �A�N�Z�X�ݒ��ʁX�ɕۑ����Ă����܂��B
�V�F���E�v���O�����Ɓuvmeutils�v�v���O������ /usr/local/bin �f�B���N�g
���ɂ���Ȃ�A��ʃ��[�U�Ƃ��ă��O�C�����A������s���邱�Ƃ��ł���
�ł��傤�B�ȉ��̋L�q�ł́A���̂��Ƃ�O��Ƃ��Ă��܂��B
3.3. vmemap �R�}���h
��ʃ��[�U�Ƃ��ă��O�C�����A�e�X�g�p�̃f�B���N�g������܂��B���̃f�B
���N�g���ňȉ��̂悤�Ƀ^�C�v���܂� -
vmemap
���̂悤�ȃw���v��ʂ��\������܂��B
Usage: map address count space size type
where address is VME Address to set Universe image to
Space = 0 CR/CSR Space = 1 A16
Space = 2 A24 Space = 3 A32
Size = 1 8 bit Size = 2 16 bit
Size = 3 32 bit Size = 4 64 bit
Type = 0 USR/DATA Type = 1 USR/PRG
Type = 2 SUP/DATA Type = 3 SUP/PRG
������ VMEbus �ɂǂ̂悤�ɃA�N�Z�X���������� VMELinux ������Ƃ����
���B���Ȃ��͂��ł� VMEbus �̂�������̃I�y���[�V�����E���[�h��m���Ă�
��Ǝv���܂����A�����ɂȂ�悤�ɒZ�����X�g����܂��B
o address �͌������Ǝv�� VMEbus �̎��ۂ̃A�h���X�ł��B����͌������A
�h���X�͈͂̍Œ�l�ɐݒ肵�Ȃ��Ă͂����܂���B
o count �͌������͈͂̃o�C�g���ł��B�������l���Ă��������B�����
��L�Ŏw�肵���A�h���X����n�܂�o�C�g���ł��B
o space �̓A�h���X��� (���[�h) �ł��B���̂��Ƃ�������Ȃ��l�̂��߂�
������ƁAVMEbus �� 4 �̃I�[�o�[���b�v�����A�h���X��Ԃ����
���āA���ꂼ��Ɨ��ɌĂԂ��Ƃ��ł���̂ł��BA16 �� 64KB�AA24 ��
16MB�AA32 �� 4GB �̋�Ԃł��BVME �K�i�ł� A64 ��Ԃ��`����Ă���
�����A Universe �`�b�v�̓T�|�[�g���Ă��܂���B
o Size �̓A�N�Z�X���Ă��� VME �{�[�h�̋������ő�̃f�[�^����
���BVME �{�[�h�̒��ɂ� 8 �r�b�g�̃f�[�^�����������Ȃ���́A��x��
32 �r�b�g(4 �o�C�g) ��]�������́A���ɂ͈�x�̏����� 64 �r�b�g��
�ړ��ł����ʂ� VME �u���b�N���[�h�𑀍�ł����̂����
���BUniverse �`�b�v�͂����S�Ẵ��[�h������ł��A�����V���A���|�[
�g�Ƃ�A�܂�����ȃ������z��Ƃ�ꏏ�Ɏg�����Ƃ��ł��܂��B
o Type �͎��s����Ă��� VME �g�����U�N�V�����̃^�C�v�ł��B����{�[�h
�́u���[�U(USR)�v�A�N�Z�X�Ɓu�X�[�p�o�C�U�[(SUP)�v�A�N�Z�X���ʂ�
�܂��B�܂����ɂ̓������� 2 �u�y�[�W�v(�v���O����(PRG)�ƃf�[�^) �ւ�
�A�N�Z�X�����{�[�h����܂��BUniverse �`�b�v�͑S�Ẵ��[�h��
�Ή����Ă��܂��B
���̂悤�Ƀ^�C�v�����...
vmemap 0x8000 0x100 1 2 0
VMELinux �h���C�o��A A16 �{�[�h�̃x�[�X�A�h���X 0x8000 ���� 0x100 �o
�C�g�̃������̈�ɁA 16 �r�b�g�̃f�[�^���A USR/DATA ���[�h�ŃA�N�Z�X��
��悤�ɐݒ肵�܂��B
�J�����g�E�f�B���N�g���� 2 �V�����t�@�C�����ł���͂��ł��B
o fa.vme
o map.vme
fa.vme �́u�Œ�A�h���X�v�l��ۑ����Ă��܂��B���̃A�h���X�l�͎��ɋ�
����v���O��������ŃA�N�Z�X��s���ۂɕK���������܂��B
map.vme �͖����L�̃p�����[�^��͂��Ȃ��Ă�悢�悤�ɁA������ۑ�
���Ă��܂��B
�ȉ��̑S�ẴV�F���E���[�e�B���e�B�́A VME �A�N�Z�X��s����ہA����
�� 2 �̃t�@�C������l��ǂ݂܂��B
3.4. �o�C�g�A���[�h�A�����O���̃f�[�^��ǂ�
Syntax:
o vmerb -[options] address size
o vmerw -[options] address size
o vmerl -[options] address size
3.5. �o�C�g�A���[�h�A�����O���̃f�[�^���
Syntax:
o vmewb -[options] address value
o vmeww -[options] address value
o vmewl -[options] address value
3.6. �t�@�C���� VMEbus �̃f�[�^��ǂ�
Syntax:
o vmerf -[options] address size filename
3.7. VMEbus �̃f�[�^��t�@�C���֏���
Syntax:
o vmewf -[options] address filename
3.8. �p�����[�^
�����̃R�}���h�Ƌ��Ɏg�p����p�����[�^������������܂� - address,
size, filename �ł��B
o address - �ǂ݂��� VMEbus �A�h���X�̎��ۂ� 16 �i�l�B A16 VME �A�h
���X��ԂփA�N�Z�X����悤�� map �R�}���h��ݒ肷��Ȃ�A���̃A�h��
�X�� 0xABCD �ƂȂ�܂��BA24 VME �A�h���X��ԂȂ� 0xABCDEF�AA32 VME
�A�h���X��ԂȂ� 0xABCDEFGH �ƂȂ�܂��B
o size - �ǂ݂����o�C�g���B���̒l�͓ǂ݂����f�[�^�̃��[�h�T�C�Y�Ɋ�
�W�Ȃ���Ƀo�C�g���ł��B�Ⴆ�� vmerl ��g���� 16 �o�C�g�̏���ǂ�
������A�f�B�X�v���C�ɂ� 16 �o�C�g�� 4 �̃����O���[�h�ŕ\������
��ł��傤�B
o filename - �ǂݍ��� VMEbus �̃f�[�^�𑗂�t�@�C�����A���邢��
VMEbus �֏������ރf�[�^��Ƃ��Ă���t�@�C�����B
o value - �u0xXXXX�v�̂悤�ɏ����ꂽ 16 �i���B
3.9. �I�v�V����
�g�p�ł���I�v�V�����́A - (�n�C�t��)����Ė������܂��B�ȉ��̔C�ӂ�
�g�������\�ł��B
o q - vmeutils �v���O�����ւ̃A�N�Z�X�̏ڍׂ�\�����Ȃ�(�f�t�H���g)
o Q - vmeutils �v���O�����ւ̃A�N�Z�X�̏ڍׂ�\������
o p - �V���O���E�A�N�Z�X PCI �A�h���b�V���O���[�h(d �Ɣ���) (�f�t�H
���g)
o d - DMA �A�N�Z�X PCI �A�h���b�V���O���[�h(p �Ɣ���)(VMEbus �ւ̔�
��ɑ����A�N�Z�X)
o 0, 1, 2, 3 - Universe �`�b�v�̂ǂ� "Image" �������(�f�t�H���g��
0)
o b - �o�C�i���E���[�h��I�t(�f�t�H���g)
o B - �o�C�i�����[�h��I��
o �p�����[�^�̏璷�ȕ\����Ȃ�(�f�t�H���g)
o �h���C�o���ǂ̂悤�Ɏg���Ă��邩��邽�߂Ƀp�����[�^�̏璷�ȕ\
�����
3.10. DMA ���[�h�Ɋւ��钍��
VMELinux �́AUniverse �`�b�v�̋@�\�ւ̑S�ẴA�N�Z�X����܂��B����
�L�p�Ȃ�̂́A�`�b�v��� DMA �G���W���ւ̃A�N�Z�X�ł��B���̋@�\��g��
�ƁAUniverse �`�b�v�� PCI �}�X�^�[�ɂȂ��� PCI bus ��Ńf�[�^��]����
�܂��B��������@�\�ł����A�������{���̗��v�� VMEbus �A�N�Z�X�ɗR��
���܂��B���Ƃ� VMEbus �C���^�[�t�F�C�X���u���b�N���[�h�]����g�p���Ă�
�Ȃ��Ă�AUniverse �`�b�v�� 400 �i�m�b�œ]��������܂��B���ꂪ
Universe �� PCI bus �� VMEbus �̗�����S�ɃR���g���[���������Ƃɂ��
���ڂ̌��ʂł��B���������ČÂ��e�N�m���W�[�̂�̂��A����ɑ����m���u
���b�N�E���[�h�� VMEbus ���Ӌ@��փA�N�Z�X���\�Ȃ̂ł��B
4. �f�o�C�X�h���C�o�ɂ�� Tundra Universe PCI-VME �u���b�W�Ƃ̑Θb��
�d��
4.1. VMELinux �Ƌ��ɗp������f�o�C�X�h���C�o
o /dev/vme_ioctl
o /dev/vme_m0
o /dev/vme_m1
o /dev/vme_m2
o /dev/vme_m3
o /dev/vme_s0
o /dev/vme_s1
o /dev/vme_s2
o /dev/vme_s3
4.2. VMEMaster �f�o�C�X�h���C�o
/dev/vme_m* �͒ʏ�A�o�X�E�}�X�^�Ƃ���VMEbus �ɃA�N�Z�X����h���C�o��
���B
Universe �`�b�v�́AVMEbus �ւ� 4 �� VMEMaster �E�C���h�E��v���O���}
�֒��܂��B�����̃E�C���h�E�� image �ƌĂ�܂��B�����̃E�C��
�h�E��̃��W�X�^�̏ڍׂ͂��� HOWTO �͈̔͂��܂��B�ڍׂɂ��Ă�
Universe �̃h�L�������g��Q�Ƃ��Ă��������B Tundra Universe
4.3. VMESlave �f�o�C�X�h���C�o
/dev/vme_s* �͒ʏ�A�ʂ� VMEbus �}�X�^�����̃f�o�C�X�ɃA�N�Z�X���邱��
�����h���C�o�ł��B
Universe �`�b�v�́AVMEbus �ւ� 4 �� VMESlave �E�C���h�E��v���O���}
�֒��܂��B�����̃E�C���h�E�� image �ƌĂ�܂��B�����̃E�C��
�h�E��̃��W�X�^�̏ڍׂ͂��� HOWTO �͈̔͂�z���܂��B�ڍׂɂ��Ă�
Universe �̃h�L�������g��Q�Ƃ��Ă��������B Tundra Universe
�X���[�u VME ���[�h�́AVMELinux �ł͂܂��T�|�[�g���Ă��܂���B
4.4. Universe �̃��W�X�^�̒��ڐ���
/dev/vme_ioctl ��g���� Universe �̃��W�X�^��ǂݏ����ł��܂��B
�o���L���ȃ��[�U�ł���A���̃f�o�C�X��g���� Universe �`�b�v�̓���
���W�X�^�֒��ڃA�N�Z�X�ł��܂��B�����̃��W�X�^�̐��Ƃ��̓���͂���
HOWTO �͈̔͂��Ă��܂��܂��B�ȉ�������\�� Universe �̃h�L����
���g�ׂĂ��������B Tundra Universe
4.5. read()
n = read(vme_handle,buf,len);
�����̈Ӗ��͈ȉ��̒ʂ�ł� -
o vme_handle : open() ����̖߂�l
o buf : �f�[�^�E�u���b�N�ւ̃|�C���^
o len : VMEbus ����ǂݍ��ރo�C�g��
4.6. write()
write(vme_handle,buf,len);
�����̈Ӗ��͈ȉ��̒ʂ�ł� -
o vme_handle : open() ����̖߂�l
o buf : �f�[�^�E�u���b�N�ւ̃|�C���^
o len : VMEbus �֏������ރo�C�g��
4.7. lseek()
lseek(vme_handle,vme_pnt,Seek_Type);
�����̈Ӗ��͈ȉ��̒ʂ�ł� -
o vme_handle : open() ����̖߂�l
o vme_pnt : �A�N�Z�X���������ۂ� VME ��̃A�h���X
o Seek_Type : SEEK_SET �܂��� SEEK_CUR
4.8. ioctl()
ioctl(vme_handle, command, argument);
�����̈Ӗ��͈ȉ��̒ʂ�ł� -
o vme_handle : open() ����̖߂�l
o command : IOCTL_SET_CTL, IOCTL_SET_MODE, IOCTL_SET_BS,
IOCTL_SET_BD, IOCTL_SET_TO
o argument : ����
�܂� -
o IOCTL_SET_CTL : �C���[�W CTL ���W�X�^�ֈ�����Z�b�g����B������ 32
�r�b�g�łȂ���Ȃ�Ȃ��B
o IOCTL_SET_MODE : "MODE_DMA" �܂��� "MODE_PROGRAMMED" - Universe
�`�b�v�� PCI bus �ƒʐM���邽�߂̃��[�h��ݒ肷��B(VME �u���b�N�E
���[�h�ł͂Ȃ�)
o IOCTL_SET_BS : �C���[�W BS ���W�X�^�ֈ�����Z�b�g����B�� - ���̊�
���̃R�[���̑O�� BD ���W�X�^��Z�b�g���Ă����Ȃ���Ȃ�Ȃ��B
o IOCTL_SET_BD : �C���[�W BD ���W�X�^�ֈ�����Z�b�g����B
o IOCTL_SET_TO : �C���[�W TO ���W�X�^�ֈ�����Z�b�g����B
4.9. open() �� close()
4 �� VMELinux �}�X�^���邢�̓X���[�u�E�f�o�C�X�ƃR���g���[���E�f�o�C
�X��I�[�v��/�N���[�Y���܂��B�X���[�u�C���[�W�͂܂��T�|�[�g����Ă���
����B
o vme_handle = open("/dev/vme_m0",O_RDWR,0);
o uni_handle = open("/dev/vme_ctl",O_RDWR,0);
o close(vme_handle);
o close(uni_handle);
5. VMEbus�ALinux�AVMELinux �̒���
5.1. �s���E�R�l�N�^�ƃ\�P�b�g�E�R�l�N�^
VMEbus �K�i�ł́A�s���E�R�l�N�^�ƃ\�P�b�g�E�R�l�N�^��p���܂��B�����
�ڐG���������C�Ȃǂ̊���ɂ��炳��Ȃ��Ƃ������ƂŃG�b�W�^�̃R�l�N
�^���D��Ă��܂��B��荂���ł����A�M����������シ��̂ł��B
5.2. Eurocard �̑g�ݗ���
VME �{�[�h�́A3U (160 x 100 mm) �� 6U (160 x 233.35 mm) �ł��B������
�T�C�Y�� Eurocard �K�i�̃{�[�h�E���W���[����b�N�ƈ�v���܂��B
Eurocard �́ACompactPCI ��܂ޗl�X�� bus �Ŏg�p����Ă����ʓI�ȃt�H
�[�}�b�g�ł��B���̂悤�ɐl�C������̂ŁA���̑g�ݗ��ĂɕK�v�ȍޗ�������
�����肵�₷���Ȃ��Ă��܂��B
5.3. Linux �͈����ł���
Linux �̖{���́A���[�U�ɂ��T�|�[�g����A���R�ɓ���ł���Ƃ����_�ɂ�
��܂��B Linux ��g�p���Ă���l�̐��͑��������Ă��܂��BLinux �̃\�t�g
�E�G�A�̐₦�܂Ȃ��J���ɍv������l�̐��͑��������Ă��܂��BLinux �́A��
�����邢�͈����Ɏ�ɓ��邩�牿�l������Ƃ����̂͐���������܂�
��BLinux �́A�����Ɠ������牿�l������̂ł��B
5.4. Linux �͈��肵�Ă���
Linux �͕s����� OS ���Ƃ����l���������܂��B�J�����̐V���� Linux �J�[
�l���͎����̂��߂̂�̂Ȃ̂ŁA�d�v�ȗp�r�ł͓��Ăɂ���ׂ��ł͂���܂�
��B����������ł� Linux OS ���ɓ���\�ł���A����͔��Ɉ��肵��
�����܂��BVMELinux �͏�ɃJ�[�l���E�\�[�X�̈���ł�x�[�X�ɂ��Ă�
�܂� - ���݂̈���ŃJ�[�l���́A2.0.X �V���[�Y�ł��B (��Ғ��F2000 �N 3
���̎��_�ł̈���ŃJ�[�l���́A2.2.X �V���[�Y�ł�)
5.5. Linux �̓_�C�i�~�b�N�ł���
��ϑ����̐l�X�� Linux ��J�����Ă���̂ŁA���P��C���A�V�@�\�� Linux
�f�B�X�g���r���[�V�����̈ꕔ�ƂȂ�̂��ԑ҂K�v�͂���܂���B
6. ���݂����Č������̃{�[�h�̃T�|�[�g�ɂ���
VMELinux �h���C�o�͂ǂ�� PCI �x�[�X�̐v�ł����͂��ł����A���ɏq��
��{�[�h�ł͎��ۂɉ�X�̃\�t�g�������Ă��܂��B
6.1. Xycom �� XVME655 Pentium VMEbus �{�[�h
o ���� Xycom �Ђ̃{�[�h�͈ȉ����瓾����W���� VMELinux �J�[�l���E�h
���C�o�̃p�b�P�[�W�ƈꏏ�ɓ��삵�܂��B VMELinux Project
o �R���p�C���ς݂̃J�[�l���̃o�C�i�������ɓo�ꂷ��ł��傤�B�����
�ŐV�ł� Linux �J�[�l����x�[�X�ɂ��Ă��܂��B�����āA�I���{�[�h��
NE2100 Ethernet �C���^�[�t�F�C�X�ɑΉ������h���C�o�����Ă���͂�
�ł��B�ڍׂ� Web �T�C�g��Ă��������B
6.2. Xycom�� XVME656 Pentium VMEBus �{�[�h
o ���� Xycom �Ђ̃{�[�h�͈ȉ����瓾����W���� VMELinux �J�[�l���E�h
���C�o�̃p�b�P�[�W�ƈꏏ�ɓ��삵�܂��B VMELinux Project
o �R���p�C���ς݂̃J�[�l���̃o�C�i�������ɓo�ꂷ��ł��傤�B����
�́A�ŐV�ł� Linux �J�[�l����x�[�X�ɂ��Ă��܂��B�����āA�I���{�[�h
�� AHA2940/AIC7000 SCSI �� 82558 Intel EtherExpress Ethernet �@���
�Ή������h���C�o�����Ă���͂��ł��B�ڍׂ� Web �T�C�g��Ă�����
���B
6.3. Dynatem DPC1-0367
o ���̃{�[�h�͈ȉ����瓾����W���� VMELinux �J�[�l���E�h���C�o��
�p�b�P�[�W�ƈꏏ�ɓ��삵�܂��B VMELinux Project
o �R���p�C���ς݂̃J�[�l���̃o�C�i�������ɓo�ꂷ��ł��傤�B����
�́A�ŐV�ł� Linux �J�[�l����x�[�X�ɂ��Ă��܂��B�����āA�I���{�[�h
�� SCSI �� Tulip Ethernet �@��ɑΉ������h���C�o��܂�ł���͂���
���B�ڍׂ� Web �T�C�g��Ă��������B
6.4. �T�|�[�g�v�撆�̃{�[�h
���Ȃ��̃{�[�h�� VMELinux �ŃT�|�[�g����Ă��Ȃ���A��X�ɂ��m�点��
�������B�����A���[�J�͊J���̂��߂ɉ�X�Ƀ{�[�h��݂��Ă����ł��傤�B
7. �܂Ƃ�
VMELinux �́AUNIX ���̒����S�ĂƋ��� VMEbus �V�X�e����v���E�m���Ɏ�
���������Ȏ�i��[�U�ɒ��܂��B
��X�� VMELinux ���X�̃v���W�F�N�g�ŗp���Ă���A���������ď����̊J��
�����ɍs�����̂Ɗ��҂��Ă��������Č��\�ł��B���N�̗\��Ƃ��Ă� -
o ���荞�݂̎����Ƃ��̃n���h�����O
o Intel �x�[�X�̑��u�����h�� VMEbus �{�[�h�ւ̃|�[�e�B���O
o Universe �`�b�v��g�p���Ă��鑼�̃v���Z�b�T�ւ� VMELinux �̃|�[
�e�B���O
o RT-Linux �^�X�N�Ƃ��� VMELinux �J�[�l���E�h���C�o�E���W���[����
�点�錤��
���̃h�L�������g�́A��Ƃ��� Xycom �� XVME-655 Pentium VME �{�[�h�ւ�
VMELinux �J�[�l���E�h���C�o�̃C���X�g�[���ɕK�v�Ȏ菇�̊T�v��q�ׂĂ�
�܂��B���̐l�X�����̃{�[�h�ւ� VMELinux �̃C���X�g�[����݁A���̐���
��m�点�Ă���邱�Ƃ���X�̊�]�ł��B
�₢���킹�͈ȉ��Ƀ��[��������� : The VMELinux Project
(
[email protected]) �B���A����╶�͂�X�V���ׂ��_��������m�点����
�����B�����t�������܂��B
8. FAQ
8.1. �{�[�h�͂����Ƒ��݂���̂ɁA�����V�F���E���[�e�B���e�B�ŃA�N�Z
�X���Ă݂�ƁA�A�X�^���X�N(*)�̍s�Ԃ��Ă��܂��B���Ȃ́H
/dev/vme... �t�@�C���̃p�[�~�b�V������ 666 �ɃZ�b�g����Ă��邩�m�F��
�Ă��������B�����łȂ��ƁA�V�F���E���[�e�B���e�B�� VME bus �G���[�Ɠ�
�l�ȃG���[������߃f�[�^�̑���� * ��Ԃ��܂��B
8.2. VMELinux �͂ǂ����Ċ��荞�݂�n���h�����O����́H
���܂̂Ƃ���ł��܂���B�������A��X�͂����ɂ��̕�������ł���悤�v
�撆�ł��B�ǂ������炭���҂����������B
8.3. ���� RedHat 5.1 ����Ă��܂��B�ł� VMELinux �̃v���O������R��
�p�C���ł��܂���B
RedHat 5.1 �ɂ́A�V�����R���p�C�����܂܂�Ă��܂��B �V���� egcs �R���p
�C���ɂ��킹�āA���ꂼ��̃f�B���N�g���ɂ��� Makefile ����ƂŕҏW��
����R���p�C���͉\�ł��傤�B��X�� RedHat 5.1 �ł̃C���X�g�[����\
���ɃT�|�[�g������ł��B�������A�����_�ł� RedHat 5.0 �� Slackware
��E�߂��܂��B
9. ���{���ɂ���
���{���� Linux Japanese FAQ Project ���s���܂����B�|��Ɋւ��邲�ӌ�
�� JF �v���W�F�N�g <
[email protected]> ���ɘA�����Ă��������B
���������ȉ��Ɏ����܂��B
v0.8a-j, 2000 �N 6 ��
�|��: ���g��j <
[email protected]>
�Z��:
o �������� <
[email protected]>
o ����L�� <
[email protected]>
o �쐳�K <
[email protected]>
o ���앐�Y <
[email protected]>
o �����P�� <
[email protected]>
o �R���`�V <
[email protected]>