  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 

  ͂́̕Agݍ݋@VXe̐lX VMEbus p Pentium {[h
   PCI local bus p VMEbus pvZbTE{[hłǂ̂悤ɂ
  Linux 𓮂̂߂ɐ܂܂B
  ______________________________________________________________________

  ڎ

  1. ͂߂
     1.1 vm
     1.2 ǂ VMEbus VXe Linux ĝH
     1.3 ړI
     1.4 tB[hobN
     1.5 VMELinux rW
     1.6 쌠\/zz

  2. VMELinux J[lEhCõCXg[
     2.1 \[XR[h̃_E[h
     2.2 \[XR[h̃CXg[
     2.3 VMELinux R|[lg̃RpC
     2.4 VMELinux J[lEW[̃[h
     2.5 ȓ_

  3. VMEUtils  VMEShell pbP[W VMEbus ƑΘb@
     3.1 VMEUtils vOƂ͉
     3.2 VMEShell XNvgƂ͉
     3.3 vmemap R}h
     3.4 oCgA[hAÕf[^ǂ
     3.5 oCgA[hAÕf[^
     3.6 t@C VMEbus ̃f[^ǂ
     3.7 VMEbus ̃f[^t@C֏
     3.8 p[^
     3.9 IvV
     3.10 DMA [hɊւ钍

  4. foCXhCoɂ Tundra Universe PCI-VME ubWƂ̑Θb̎d
     4.1 VMELinux ƋɗpfoCXhCo
     4.2 VMEMaster foCXhCo
     4.3 VMESlave foCXhCo
     4.4 Universe ̃WX^̒ڐ
     4.5 read()
     4.6 write()
     4.7 lseek()
     4.8 ioctl()
     4.9 open()  close()

  5. VMEbusALinuxAVMELinux ̒
     5.1 sERlN^ƃ\PbgERlN^
     5.2 Eurocard ̑gݗ
     5.3 Linux ͈ł
     5.4 Linux ͈肵Ă
     5.5 Linux ̓_Ci~bNł

  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|[gv撆̃{[h

  7. ܂Ƃ
  8. FAQ
     8.1 {[h͂Ƒ݂̂ɁAVFE[eBeBŃANZXĂ݂ƁAAX^XN(*)̍s񂪕ԂĂ܂BȂ́H
     8.2 VMELinux ͂ǂĊ荞݂nhÓH
     8.3  RedHat 5.1 Ă܂Bł VMELinux ̃vORpCł܂B

  9. {ɂ

  ______________________________________________________________________

  1.  ͂߂

  1.1.  vm

  gݍݗp VMEbus vZbTE{[h Linux gƂ͂
  ͂܂BAbIȒmȏ̂̂v܂B̕
  ́ALinux }VSɍ\z邽߂̓发ł͂܂B

   HOWTO hLg𗝉邽߂ɂ́Aȉ̂ƂɐʂĂȂ
  Ă͂Ȃ܂B

  o  J[l̐ݒƃRpCsāA{[hɂĂFXȎӋ@
     g悤ɂ邱ƁB Kernel-HOWTOA Kernel-HOWTO {

  o  lbg[N@̃ZbgAbvƐݒB NET-3 HOWTOA Linux
     Networking-HOWTO (Previously the Net-3 Howto) {

  o   inetd ̃ZbgAbvB NET-3 HOWTOA Linux Networking-HOWTO
     (Previously the Net-3 Howto) {

  o   PCI  VME ̃ubW`bv Tundra  Universe ̃ZbgAbvƎg
     p@BTundra Universe WX^Ex Universe ɃANZX悤
     ƂȂAV VMUtils vOg Universe Ɋւm
     ͕sKvɂȂ܂B

  o  ȉ̂悤Ȃ낢ȃlbg[N֘ApbP[W̃RpCƃC
     Xg[B Apache Site Wu-Ftpd FAQ

  o   VMEbus Rev. D  VME64B ȉɂ΂炵񂪂܂B VMEbus
     International Trade  Association (VITA)

     AL̂ǂꂩɂڂȂ̂ꍇ́AŏЉĂ
     郊N𗘗pāASẴpbP[WnmĂƂ
     ܂BX͏LɊւĂ͂Ȃ郁[ɂԎ͏o܂B
     ͂ꂼK؂ HOWTO ̒҂ւ肢܂B̓n[hEGA
     ̐Ǝ҂ւkB

  ͂́̕AVMELinux ̃CXg[ Xycom   XVME-655(6U VME
  processor board)ł̎gp@LqĂ܂BPentium  Tundra Ђ
  Universe `bvgpĂ鑼̃uh̃{[h VMELinux 𑖂点
  \͂͂łBeXgς݂̃{[hɂĂ VMELinux  Web T
  Cgɂ Board Support ZNVQƂĂB VMELinux
  Project Web Site

  1.2.  ǂ VMEbus VXe Linux ĝH

  VMEbus Rs[^̃Iy[eBOVXe͒ʏAA^CEI
  y[eBOVXe(RTOS)łBĂ͍ŏK
  B̑ RTOS ͌ÊłƂɑ΂Ă΂₭̂ŁA
  @퐧vZXɌĂ܂B

  VMEbus ́AłȃRs[^Ƒݐڑ̃VXe܂B
  ̃VXeECeO[^ɂ͂̌łKvł傤A܂
  A^C̉Kvł傤BAA^C͕̉sv
  ȉ̂悤Ȃ͕̂KvAƂP[XX܂B

  o  lbg[N\

  o   telnet ͗ގ̃vOɂ郊[gANZX

  o   FTP ͗ގ̃vOɂt@C]

  o   BOOTP ͗ގ̕@ɂ郊[gu[g

  o  VXe荞݂ɑ΂鉞̕@

     Linux ͂̔\͂SĎĂ܂B VMELinux vWFN
     ĝ݂łB
  1.3.  ړI

  VMELinux ̖ړÍA VME VXeECeO[^ɃIy[eBOEV
  Xe̕ʂ̑I^邱ƂłB@\LxŐMA
  RXg Linux ́Agݍ݃Rs[^YƊEɉb񋟂܂BIy
  [eBOEVXeł邽߂ɁAoϓIȗR VME p
  łȂƂAvP[V̂łBLinux  VMELinux hCo
  𗘗p΁Ał VMEbus ͐Vȉ\̂łB

  VMELinux vWFNg̖ړI͈ȉ̒ʂł:

  o   t[ VMELinux J[lEhCoE\tgEGAێEǂ
     

  o   VMEUtils vO VMEShell [eBeB̂悤ȕtlvf
     ̂\tgEGA̒

  o  ܂܂ȃ[JĂ VME vZbTE{[hł̃\tgEG
     ÃeXg

  o  eXgς݂̃{[hi Web x[Ẍ̕ێ

  o   HOWTO ̈ێ

  o  ̏̕ǂ̃R[hɎAX̔\͂
     tɊpł悤ɂ邱

  o  L̃\tgEGASĂ̈ꎟzzƂȂAVMELinux ̃[UA
     IWĩR[h擾ł邱Ƃۏ؂邱

  1.4.  tB[hobN

  VMELinux ͌ŃeXgĂ܂A܂삵_₤܂삵
  Ȃ_ɂĂЃRg𑗂ĂB

  The VMELinux Project (vmelinux@va.net) ܂ŁACyɃRg肭
  B

  X͊eX VME CPU {[hɂĂ̌o𓾂A HOWTO ɕʂ̐
  ڂłB̂ƂX Xycom Ђ̃{[ĥ݂ɂċL
  q܂B

  1.5.  VMELinux rW

  Linux J[lEhCo

  o   1997 N 11  v0.2 - Xycom Ѓ{[hł̏o[W

  o   1997 N 12  v0.3 - gp\ȃo[W

  o   1998 N 2  v0.6 - VME ANZX[h DMA [h

  o   1998 N 6  v0.8 - V VMEUtils 悤ɂC

  o   1998 N 6  24  v0.8a - Web TCgŌso[Wł
     悤ɂ

  VMEUtils vO

  o   1998 N 2  v0.6 - VMEbus փANZX邽߂̃R}hCEC
     ^[v^

  o   1998 N 6  v0.8 - VMEShell [eBeB@\悤ɂ
     ̖_ fix 

  o   1998 N 6  24  v0.8a - so[W Web TCgœł
     悤ɂ

  VMEShell [eBeB

  o   1998 N 6  v0.8 - Linux VFEvvg VMEbus փANZX
     R}hCE[eBeBÃVFE
     vO VMEUtils vOƂ̃C^[tFCXs

  o   1998 N 6  24  v0.8a - VFEvȎSĂ̖Ouvmev
     n܂悤ɕύXBso[W Web TCgœł
     悤ɂ

  1.6.  쌠\/zz

  ͂̒̕쌠́AJohn Huggins  VMELinux Project ɂ܂
  (Copyright 1997-1998)B

  IWiςȂ́A҂̋ȂɕIEdqI킸A
  郁fBAɎRɕʂ܂͔zzł܂B||҂̌f
  ނȂʂȋȂɓlɂł܂BƓIȔzzA܂サ
  ܂BÂ悤Ȕzz͒ The VMELinux Project
  (vmelinux@va.net) ɂm点悤肢܂B

  hLg̈p(S̃Rs[Sւ̃|C^܂ޔh
  )ŐȂŎg܂B

  ̃hLgŜ̕Ezz̍ۂɂ͒쌠Ɋւ邱̒ӎY
  tƂĂB܂̒ӎêꂼ
  ɓYt悤ɂĂB

  ȒPɌƁAX͂\ȃ`loRĂ̕L
  y邱ƂĂ܂BȂAX HOWTO  copyright
  ŕی삵ĂAHOWTO ĔzzvɂĂ͘AĂ邱
  Ƃ҂Ă܂B

  2.  VMELinux J[lEhCõCXg[

  2.1.  \[XR[h̃_E[h

  VMELinux Web Site.  zzLbg_E[hĂB

  2.2.  \[XR[h̃CXg[

  VME pɎĂfBNgɃt@Cu܂ - O
  /universe 𐄏܂Bzipped/tarred t@Cȉ̃R}h͂
  ĉ𓀂܂B

  tar -xzf VMELinux_08a.tar.gz

  3 ̃fBNgł܂B driver  ca91c042 ւ̃V{b
  NENłB

  ca91c042
  vmeshell
  vmeutils
  driver

  ca91c042 ̃fBNgɂ́Aȉ̃t@C܂ -

  ca91c042/
  ca91c042/Makefile
  ca91c042/ca91c042.c
  ca91c042/ca91c042.h
  ca91c042/README
  ca91c042/e
  ca91c042/ins
  ca91c042/stat
  ca91c042/uns

  vmeshell ̃fBNgɂ́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 ̃fBNgɂ́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|[lg̃RpC

  ca91c042 fBNgɓāAVMELinux foCXhCoEW[
  ܂B

  make

  ̎_ŁA /dev ɂhCoEt@CȂ΂Ȃ܂
  Bȉ̂悤Ƀ^CvĂ -

  make devices

  make IƁAfBNg̒Ɂuca91c042.ovƂt@C
  Ăł傤B̓[_uȃW[łBL̃[h邽
  ߂̏ĂB /dev fBNgɐ́uvme...  v
  t@CłĂł傤B

  foCXt@C /dev fBNgɍÃp[~bV
  ύXȂĂ͂܂Bȉ̂悤Ƀ^CvĂ -

  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#

  uvmeutilsvfBNgֈڂĂŁumakevƓ͂܂B

  make

  ŁuvmeutilsvvORpC܂B̃vO͒
  J[lEhCoƑΘb܂B͒ڃhCoƑΘbvO
  ŏƎvĂl̂߂̎QlƂȂ̂łB

  uvmeutilsvA[ŨoCiEt@CufBNgփRs[
  ĂBX̃VXeł́Áu/usr/local/binvłB邢
  ́AuvmeutilsvvO[ŨoCiEt@CufBNg
  փN邱Ƃł܂B

  uvmeshellvfBNgֈڂ܂Bɂ̓RpCt@C͂
  ܂BuvmeutilsvvOg VMEbus փANZX邽߂
  VFEvO܂BuvmevŎn܂SẴt@C
  u/usr/local/binvfBNgփNRs[ĂȂ΂Ȃ܂
  B

  ŃhCog߂̏ł܂B

  2.4.  VMELinux J[lEW[̃[h

  Ȃ root ł邱ƂmFĂB ȉ̂悤
  Universe `bvp VMELinux J[lEW[gݍ([h)
  ܂B

  insmod ca91c042

  ́uinsvƂ^CvāAƂ̓VFXNvgɂ܂܂
  BIAȉ̂悤Ƀ^CvĂ -

  stat

  ʂɂ̂悤ȃWX^̃Xg\ł傤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

  ALƈقȂĂΉԈĂ܂B

  2.5.  ȓ_

  Universe hCo PCI bus ł Universe `bvTĂ
  ܂A{[h̐݌vႤƒTȂ܂BX Xycom
  Ђ XVME-655 {[hőSẴ[`eXg܂B Universe Ђ
  PCI-VME ubW`bv PCI bus  Intel {[hłAꂪ
  Ȃ͂قƂǂȂ͂łBAȂɏoǂ
  Xւm点B - The VMELinux Project (vmelinux@va.net)

  3.  VMEUtils  VMEShell pbP[W VMEbus ƑΘb@

  3.1.  VMEUtils vOƂ͉

  ̃vO͂̂܂܎sł܂BxX^[gAR}hEv
  vg܂Bu?v^Cv΃R}h̃Xg܂B
  łgł傤AVMEShell XNvgg֗Ƃ
  ɋCt邱Ƃł傤B VMEShell XNvg̓J[lEhCo
  Θb邽߂ VMEUtils vOĝŁAϐ PATH 
  VMEUtils ւ̃pXݒ肵ĂKv܂B

  uvmeutilsṽ\[XR[hAJ[lEhCoƒڑΘbd̂
  {łBڃhCoƑΘbvO肽lɂƂāA
  ̃\[Xt@C͗ǂłB

  3.2.  VMEShell XNvgƂ͉

  VMEShell vÓAUNIX VFEXNvgłB̓Iy[^
  VMEbus ̃f[^ɃANZX邽߂̃Vvȕ@񋟂܂B
  ̃R}hgƂɂŐṼANZXۑe|E
  t@C[Ũ[LOEfBNgɍ܂B͂ȂȂ
  @\łBȂȂ}VxOItAēxOCĒf
  Ƃ납瑱sƂɁAVMEbus ̏ēx肷KvȂ
  łBɁÃt@C̓JgEfBNgɕۑ
  ŁAANZX VME {[hɈقȂfBNgݒ肷΁A
   VME ANZXݒʁXɕۑĂ܂B

  VFEvOƁuvmeutilsvvO /usr/local/bin fBNg
  ɂȂAʃ[UƂăOCAs邱Ƃł
  ł傤Bȉ̋Lqł́ÂƂOƂĂ܂B

  3.3.  vmemap R}h

  ʃ[UƂăOCAeXgp̃fBNg܂B̃fB
  Ngňȉ̂悤Ƀ^Cv܂ -

  vmemap

  ̂悤ȃwvʂ\܂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 ɂǂ̂悤ɃANZX VMELinux ֋Ƃ
  BȂ͂ł VMEbus ̂̃Iy[VE[hmĂ
  Ǝv܂AɂȂ悤ɒZXg܂B

  o   address ͌Ǝv VMEbus ̎ۂ̃AhXłB͌A
     hX͈͂̍Œlɐݒ肵ȂĂ͂܂B

  o   count ͈͌͂̃oCgłBlĂB
     LŎw肵AhXn܂oCgłB

  o   space ̓AhX ([h) łB̂ƂȂl̂߂
     ƁAVMEbus  4 ̃I[o[bvAhXԂ
     āAꂼƗɌĂԂƂł̂łBA16  64KBAA24 
     16MBAA32  4GB ̋ԂłBVME Kił A64 Ԃ`Ă
     A Universe `bv̓T|[gĂ܂B

  o   Size ̓ANZXĂ VME {[h̋ő̃f[^
     BVME {[h̒ɂ 8 rbg̃f[^Ȃ́Ax
     32 rbg(4 oCg) ]́Aɂ͈x̏ 64 rbg
     ړłʂ VME ubN[h𑀍ł̂
     BUniverse `bv͂SẴ[hłAVA|[
     gƂA܂ȃzƂꏏɎgƂł܂B

  o   Type ͎sĂ VME gUNṼ^CvłB{[h
     ́u[U(USR)vANZXƁuX[poCU[(SUP)vANZXʂ
     ܂B܂ɂ̓ 2 uy[Wv(vO(PRG)ƃf[^) ւ
     ANZX{[h܂BUniverse `bv͑SẴ[h
     ΉĂ܂B

     ̂悤Ƀ^Cv...

     vmemap 0x8000 0x100 1 2 0

  VMELinux hCoA A16 {[h̃x[XAhX 0x8000  0x100 o
  Cg̃̈ɁA 16 rbg̃f[^A USR/DATA [hŃANZX
  悤ɐݒ肵܂B

  JgEfBNg 2 Vt@Cł͂łB

  o  fa.vme

  o  map.vme

     fa.vme ́uŒAhXvlۑĂ܂B̃AhXl͎ɋ
     vOŃANZXsۂɕK܂B

  map.vme ͖L̃p[^͂ȂĂ悢悤ɁAۑ
  Ă܂B

  ȉ̑SẴVFE[eBeB́A VME ANZXsہA
   2 ̃t@Clǂ݂܂B

  3.4.  oCgA[hAÕf[^ǂ

  Syntax:

  o  vmerb -[options] address size

  o  vmerw  -[options] address size

  o  vmerl -[options] address size

  3.5.  oCgA[hAÕ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ƋɎgpp[^܂ - address,
  size, filename łB

  o   address - ǂ݂ VMEbus AhX̎ۂ 16 ilB A16 VME Ah
     XԂփANZX悤 map R}hݒ肷ȂÃAh
     X 0xABCD ƂȂ܂BA24 VME AhXԂȂ 0xABCDEFAA32 VME
     AhXԂȂ 0xABCDEFGH ƂȂ܂B

  o   size - ǂ݂oCgB̒l͓ǂ݂f[^̃[hTCYɊ
     WȂɃoCgłBႦ vmerl g 16 oCg̏ǂ
     ΁AfBXvCɂ 16 oCg 4 ̃O[hŕ\
     ł傤B

  o   filename - ǂݍ VMEbus ̃f[^𑗂t@CA邢
     VMEbus ֏ރf[^ƂĂt@CB
  o   value - u0xXXXXv̂悤ɏꂽ 16 iB

  3.9.  IvV

  gpłIvV́A - (nCt)Ė܂Bȉ̔Cӂ
  g\łB

  o  q - vmeutils vOւ̃ANZX̏ڍׂ\Ȃ(ftHg)

  o   Q - vmeutils vOւ̃ANZX̏ڍׂ\

  o   p - VOEANZX PCI AhbVO[h(d Ɣ) (ftH
     g)

  o   d - DMA ANZX PCI AhbVO[h(p Ɣ)(VMEbus ւ̔
     ɑANZX)

  o   0, 1, 2, 3 - Universe `bv̂ǂ "Image" (ftHg
     0)

  o   b - oCiE[hIt(ftHg)

  o   B - oCi[hI

  o  p[^̏璷ȕ\Ȃ(ftHg)

  o   hCoǂ̂悤ɎgĂ邩邽߂Ƀp[^̏璷ȕ\
     

  3.10.  DMA [hɊւ钍

  VMELinux ́AUniverse `bv̋@\ւ̑SẴANZX񋟂܂B
  LpȂ̂́A`bv DMA GWւ̃ANZXłB̋@\g
  ƁAUniverse `bv PCI }X^[ɂȂ PCI bus Ńf[^]
  ܂B@\łA{̗v VMEbus ANZXɗR
  ܂BƂ VMEbus C^[tFCXubN[h]gpĂ
  ȂĂAUniverse `bv 400 imbœ]܂Bꂪ
  Universe  PCI bus  VMEbus ̗SɃRg[Ƃɂ
  ڂ̌ʂłBČÂeNmW[̂̂Aɑmu
  bNE[h VMEbus Ӌ@փANZX\Ȃ̂łB

  4.  foCXhCoɂ Tundra Universe PCI-VME ubWƂ̑Θb
  d

  4.1.  VMELinux ƋɗpfoCXhCo

  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 foCXhCo

  /dev/vme_m* ͒ʏAoXE}X^ƂVMEbus ɃANZXhCo
  B

  Universe `bv́AVMEbus ւ 4  VMEMaster EChEvO}
  ֒񋟂܂B̃EChE image ƌĂ΂܂B̃EC
  hẼWX^̏ڍׂ͂ HOWTO ͈̔͂𒴂܂BڍׂɂĂ
  Universe ̃hLgQƂĂB Tundra Universe

  4.3.  VMESlave foCXhCo

  /dev/vme_s* ͒ʏAʂ VMEbus }X^̃foCXɃANZX邱
  hCołB

  Universe `bv́AVMEbus ւ 4  VMESlave EChEvO}
  ֒񋟂܂B̃EChE image ƌĂ΂܂B̃EC
  hẼWX^̏ڍׂ͂ HOWTO ͈̔͂z܂BڍׂɂĂ
  Universe ̃hLgQƂĂB Tundra Universe

  X[u VME [h́AVMELinux ł͂܂T|[gĂ܂B

  4.4.  Universe ̃WX^̒ڐ

  /dev/vme_ioctl g Universe ̃WX^ǂݏł܂B

  oLȃ[Uł΁ÃfoCXg Universe `bv̓
  WX^֒ڃANZXł܂B̃WX^̐Ƃ̓͂
  HOWTO ͈̔͂𒴂Ă܂܂Bȉ\ Universe ̃hL
  g𒲂ׂĂB Tundra Universe

  4.5.  read()

  n = read(vme_handle,buf,len);

  ̈Ӗ͈ȉ̒ʂł -

  o   vme_handle : open() ̖߂l

  o   buf : f[^EubNւ̃|C^

  o   len : VMEbus ǂݍރoCg

  4.6.  write()

  write(vme_handle,buf,len);

  ̈Ӗ͈ȉ̒ʂł -

  o  vme_handle : open() ̖߂l

  o   buf : f[^EubNւ̃|C^

  o   len : VMEbus ֏ރoCg

  4.7.  lseek()

  lseek(vme_handle,vme_pnt,Seek_Type);

  ̈Ӗ͈ȉ̒ʂł -

  o   vme_handle : open() ̖߂l

  o   vme_pnt : ANZXۂ VME ̃AhX

  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 WX^ֈZbgB 32
     rbgłȂ΂ȂȂB

  o   IOCTL_SET_MODE : "MODE_DMA" ܂ "MODE_PROGRAMMED" - Universe
     `bv PCI bus ƒʐM邽߂̃[hݒ肷B(VME ubNE
     [hł͂Ȃ)

  o   IOCTL_SET_BS : C[W BS WX^ֈZbgB - ̊
     ̃R[̑O BD WX^ZbgĂȂ΂ȂȂB

  o   IOCTL_SET_BD : C[W BD WX^ֈZbgB

  o   IOCTL_SET_TO : C[W TO WX^ֈZbgB

  4.9.  open()  close()

  4  VMELinux }X^邢̓X[uEfoCXƃRg[EfoC
  XI[v/N[Y܂BX[uC[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.  VMEbusALinuxAVMELinux ̒

  5.1.  sERlN^ƃ\PbgERlN^

  VMEbus Kił́AsERlN^ƃ\PbgERlN^p܂B
  ڐGCȂǂ̊ɂ炳ȂƂƂŃGbW^̃RlN
  ^DĂ܂B荂łAMシ̂łB

  5.2.  Eurocard ̑gݗ

  VME {[h́A3U (160 x 100 mm)  6U (160 x 233.35 mm) łB
  TCY Eurocard Kĩ{[hEW[⃉bNƈv܂B
  Eurocard ́ACompactPCI ܂ޗlX bus ŎgpĂʓIȃtH
  [}bgłB̂悤ɐlĈŁȂgݗĂɕKvȍޗ
  肵₷ȂĂ܂B

  5.3.  Linux ͈ł

  Linux ̖{́A[UɂT|[gARɓłƂ_ɂ
  ܂B Linux gpĂl̐͑Ă܂BLinux ̃\tg
  EGA̐₦܂ȂJɍvl̐͑Ă܂BLinux ́A
  邢͈Ɏɓ邩牿lƂ̂͐܂
  BLinux ́AƓ牿l̂łB

  5.4.  Linux ͈肵Ă

  Linux ͕s OS Ƃl܂BJ̐V Linux J[
  l͎̂߂̂̂Ȃ̂ŁAdvȗprł͓Ăɂׂł͂܂
  Bł Linux OS ɓ\łA͔Ɉ肵
  ܂BVMELinux ͏ɃJ[lE\[Ẍłx[XɂĂ
  ܂ - ݂̈ŃJ[ĺA2.0.X V[YłB (ҒF2000 N 3
  ̎_ł̈ŃJ[ĺA2.2.X V[Ył)

  5.5.  Linux ̓_Ci~bNł

  ϑ̐lX Linux JĂ̂ŁAPCAV@\ Linux
  fBXgr[V̈ꕔƂȂ̂𒷊ԑ҂Kv͂܂B

  6.  ݂Č̃{[h̃T|[gɂ

  VMELinux hCo͂ǂ PCI x[X̐݌vł͂łAɏq
  {[hł͎ۂɉX̃\tgĂ܂B

  6.1.  Xycom  XVME655 Pentium VMEbus {[h

  o   Xycom Ђ̃{[h͈ȉ瓾W VMELinux J[lEh
     CõpbP[Wƈꏏɓ삵܂B VMELinux Project

  o   RpCς݂̃J[l̃oCiɓoꂷł傤B
     ŐVł Linux J[lx[XɂĂ܂BāAI{[h
     NE2100 Ethernet C^[tFCXɑΉhCoĂ͂
     łBڍׂ Web TCgĂB

  6.2.  Xycom XVME656 Pentium VMEBus {[h

  o   Xycom Ђ̃{[h͈ȉ瓾W VMELinux J[lEh
     CõpbP[Wƈꏏɓ삵܂B VMELinux Project

  o   RpCς݂̃J[l̃oCiɓoꂷł傤B
     ́AŐVł Linux J[lx[XɂĂ܂BāAI{[h
      AHA2940/AIC7000 SCSI  82558 Intel EtherExpress Ethernet @
     ΉhCoĂ͂łBڍׂ Web TCgĂ
     B

  6.3.  Dynatem DPC1-0367

  o   ̃{[h͈ȉ瓾W VMELinux J[lEhCo
     pbP[Wƈꏏɓ삵܂B VMELinux Project

  o   RpCς݂̃J[l̃oCiɓoꂷł傤B
     ́AŐVł Linux J[lx[XɂĂ܂BāAI{[h
      SCSI  Tulip Ethernet @ɑΉhCo܂ł͂
     Bڍׂ Web TCgĂB

  6.4.  T|[gv撆̃{[h

  Ȃ̃{[h VMELinux ŃT|[gĂȂ΁AXɂm点
  BA[J͊Ĵ߂ɉXɃ{[h݂Ăł傤B

  7.  ܂Ƃ

  VMELinux ́AUNIX ̒SĂƋ VMEbus VXevEmɎ
  Ȏi[Uɒ񋟂܂B
  X VMELinux X̃vWFNgŗpĂAď̊J
  ɍŝƊ҂ĂČ\łBN̗\ƂĂ -

  o   荞݂̎Ƃ̃nhO

  o   Intel x[X̑uh VMEbus {[hւ̃|[eBO

  o   Universe `bvgpĂ鑼̃vZbTւ VMELinux ̃|[
     eBO

  o   RT-Linux ^XNƂ VMELinux J[lEhCoEW[
     点錤

  ̃hLǵAƂ Xycom  XVME-655 Pentium VME {[hւ
  VMELinux J[lEhCõCXg[ɕKvȎ菇̊TvqׂĂ
  ܂B̐lX̃{[hւ VMELinux ̃CXg[݁A̐
  m点Ă邱ƂX̊]łB

  ₢킹͈ȉɃ[ : The VMELinux Project
  (vmelinux@va.net) BA╶͂XVׂ_΂m点
  Bt܂B

  8.  FAQ

  8.1.  {[h͂Ƒ݂̂ɁAVFE[eBeBŃANZ
  XĂ݂ƁAAX^XN(*)̍s񂪕ԂĂ܂BȂ́H

  /dev/vme... t@C̃p[~bV 666 ɃZbgĂ邩mF
  ĂBłȂƁAVFE[eBeB VME bus G[Ɠ
  lȃG[߃f[^̑ * Ԃ܂B

  8.2.  VMELinux ͂ǂĊ荞݂nhÓH

  ܂̂Ƃł܂BAX͂ɂ̕ł悤v
  撆łBǂ΂炭҂B

  8.3.   RedHat 5.1 Ă܂Bł VMELinux ̃vOR
  pCł܂B

  RedHat 5.1 ɂ́AVRpC܂܂Ă܂B V egcs Rp
  Cɂ킹āAꂼ̃fBNgɂ Makefile ƂŕҏW
  ΃RpC͉\ł傤BX RedHat 5.1 ł̃CXg[\
  ɃT|[głBA_ł RedHat 5.0  Slackware
  E߂܂B

  9.  {ɂ

  { Linux Japanese FAQ Project s܂B|Ɋւ邲ӌ
   JF vWFNg <JF@linux.or.jp> ɘAĂB

  ȉɎ܂B

     v0.8a-j, 2000 N 6 
        |: gj <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>

