VME Howto John Huggins and Michael Wyrick, vmelinux@va.net 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 (vmelinux@va.net) �܂Ł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 (vmelinux@va.net) �ɂ��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 (vmelinux@va.net) 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 (vmelinux@va.net) �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 <JF@linux.or.jp> ���ɘA�����Ă��������B �����������ȉ��Ɏ����܂��B v0.8a-j, 2000 �N 6 �� �|��: ���g��j <kazuo.nakayoshi@kek.jp> �Z��: o �������� <rsato@ipf.de> o ����L�� <takei@webmasters.gr.jp> o �쐳�K <masayuki@shikoku.ne.jp> o ���앐�Y <nakano@apm.seikei.ac.jp> o �����P�� <fujiwara@linux.or.jp> o �R���`�V <dica@eurus.dti.ne.jp>