/dev/vme_m* are drivers used to access the VMEbus as a bus master.
The Universe chip offers the programmer eight VMEMaster windows to the VMEbus. These windows are called Images. The details of the registers within these windows is beyond the scope of this Howto. Please refer to the Universe documentation for details. Tundra Universe
Version 1.1 of our tools only supported the first four images. This is because we originally designed this to work with the original Universe device. When the Universe II became available, Tundra did not update their documentation. Thanks to reports from other Universe users we are now aware of the new images, have found and downloaded the latest Universe manual from Tundra and have added these images to the 1.3.0 release.
The Universe chip offers the programmer four (eight for the UniverseII) VMESlave windows to the VMEbus. These windows are called Images. The details of the registers within these windows is beyond the scope of this Howto. Please refer to the Universe documentation for details. Tundra Universe
We originally intended to support the Universe's slave mode. We never had a need for this thus our efforts concentrated solely on using the Universe as a VME master only. So for 1.3.0 and the near future, we will not support the eight slave images.
I'll repeat this for clarity. Slave VME modes are not yet supported by our VMELinux Universe Kernel driver.
/dev/vme_ctl allows read and write access to the Universe registers.
For experienced users, this device allows direct access to the Universe chip's internal registers. Explanation of these registers and what they do is beyond the scope of this howto. Please consult the Universe documentation available from Tundra Universe
n = read(vme_handle,buf,len);
Where:
write(vme_handle,buf,len);
Where:
lseek(vme_handle,vme_pnt,Seek_Type);
Where:
ioctl(vme_handle, command, argument);
Where:
Here is where you open and close the four VMELinux Master or Slave devices plus the Control device. Slave images are not yet supported.