Next | Prev | Up | Top | Contents | Index

VME-bus Read-Modify-Write Cycle

The VME bus provides a read-modify-write (or RMW) cycle that allows users to read and change the contents of a device register or memory location in a single atomic operation. Although this feature is typically used to implement synchronization primitives on VME memory, you may occasionally find this feature useful for certain devices. The VME-bus adapter provides access to VME read-modify-write cycles through a set of kernel functions, such as pio_andh_rmw() and pio_orw_rmw().

Caution: The VME RMW cycle is needed only when a controller allows both itself and a user to write a register. If a disk controller uses a single register for the status and command information for several disk drives, for example, you could be writing a command into the register from the driver while the disk controller is updating the status. The VME RMW cycle enforces exclusive use of an address. Since this operation is expensive, in terms of resources, it should rarely be used.

Note: Silicon Graphics products do not support VME read-modify-write operations initiated by a VME master to host memory.


Next | Prev | Up | Top | Contents | Index