A hypervisor (management) layer synchronizes use of virtualized input/output
(I/O)
devices that may regularly be used by multiple partitions of a logically partitioned
data processing system by making them callable by any system partition to the hypervisor
layer. A partition makes a call to the hypervisor to reserve an I/O resource. If
the I/O resource is presently allocated to another partition when a call is made
to reserve the resource, the hypervisor rejects the request to reserve the device.
If the resource is available, the hypervisor issues a command to the resource to
service calls made from the reserving partition. After utilizing the resource as
necessary, the reserving partition releases control over the I/O device and sends
a notification to hypervisor that it has released the I/O device. Upon release,
the I/O device will automatically be available for use by another partition via
a call to the hypervisor.