libuiomux Documentation

1.6.2

UIOMux: A conflict manager for system resources, including UIO devices.

This is the documentation for the UIOMux C API.

The user-level shared library libuiomux manages a shared memory segment containing mutexes for each managed resource. This segment and its mutexes are shared amongst all processes and threads on the system, to provide system-wide locking. In this way, libuiomux can be used to manage contention across multiple simultaneous processes and threads.

UIOMux allows simultaneous locking of access to multiple resources, with deterministic locking and unlocking order to avoid circular waiting. Processes or threads requring simultaneous access to more than one resource should lock and unlock them simultaneously via libuiomux.

UIOMux will save and restore of memory-mapped IO registers associated with a UIO device. Registers are saved on uiomux_unlock() and restored on uiomux_lock(), if intervening users have used the device.

Additionally, UIOMux can be queried for whether or not a resource is available on the currently running system. This allows a vendor to create a single codec or application binary that works across a family of similar processors. An application can fall back to software if a required hardware resource is not available, or disable relevant funtionality at runtime.

Contents

Generated on Fri Aug 26 14:32:28 2011 for libuiomux by  doxygen 1.6.3