usrvme(7M)
usrvme - User level VME Bus adapter interface.
Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.15.
NAME usrvme - User level VME Bus adapter interface. DESCRIPTION The usrvme interface provides access to VME bus address spaces from user processes. Challenge and Onyx Systems On Challenge and Onyx systems, access to VME bus address spaces are provided by special files. They're named according to the following convention: /dev/vme/vme<adapter>a<address-space><address-mode> <adapter> is the number of VME bus adapter. <address-space> is one of {16, 24, 32}. <address-mode> is either n for non-privileged or s for supervisory. For instance, address space 16 in non-privileged mode on adapter 0 would be referred to as /dev/vme/vme0a16n. The kernel driver for user level VME is referred to as usrvme. If VME busses are added to an existing system, it may be necessary to run MAKEDEV(1M) specifying a target of usrvme in order to have the additional /dev/vme devices created. Origin2000 and Onyx2 Systems On Origin2000 and Onyx2 systems, VME bus address spaces can be accessed by hardware graph vertices. The vertices are named by the following convention: /hw/vme/<adapter>/usrvme/<address-space>/<data-width> <adapter> is the number of VME bus adapter. <address-space> is the code for address space. It could be one of {a32s,a32n, a24s, a24n, a16s, a16n}. <data-width> is the maximum PIO data width on VME bus. It could be one of {d64, d32, d16, d8} in A32 space, or one of {d32, d16, d16, d8} in A24 and A16 spaces. Error Handling Not all addresses can be read from or written to because of read-only or write-only registers and unequipped addresses. Reads or writes to invalid VME bus addresses will normally result in a SIGBUS signal being sent to the offending process. On CHALLENGE, ONYX, Origin2000, and ONYX2 systems, writes to an invalid VME bus address are asynchronous, processor does not wait for the completion of write operation. If write operation fails, it could take up to 10 millisecs for the user VME process to be signalled about failed write. (Note that VME bus timeout is about 80 microsecs on Challenge and Onyx systems, 64 microseconds on Origin2000 and Onyx2 systems.) So, if the user VME process has to confirm that the write completed successfully, it should wait for about 10 millisecs. If the user VME process has already terminated by the time kernel gets the VME write error interrupt, a message is sent to SYSLOG indicating the VME Adapter number, and failed VME bus address. If multiple processes have the mapping for the VME address which got an error, all of them would be sent SIGBUS signal. SEE ALSO "IRIX Device Driver Programmer's Guide" hinv(1M) MAKEDEV(1M) -- on Challenge and Onyx systems.