s390x/vfio-ap: document hot plug/unplug of vfio-ap device

Let's update the vfio-ap.txt document to include the hot plug/unplug
support.

Signed-off-by: Tony Krowiak <akrowiak@linux.ibm.com>
Message-Id: <1550519397-25359-3-git-send-email-akrowiak@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
Tony Krowiak 2019-02-18 14:49:57 -05:00 committed by Cornelia Huck
parent 374b78e370
commit bac03ec72f

View file

@ -440,8 +440,7 @@ unassign_control_domain
'unassign_domain' file. This may be done multiple times to unassign more than 'unassign_domain' file. This may be done multiple times to unassign more than
one control domain. one control domain.
Notes: Hot plug/unplug is not currently supported for mediated AP matrix Notes: No changes to the AP matrix will be allowed while a guest using
devices, so no changes to the AP matrix will be allowed while a guest using
the mediated matrix device is running. Attempts to assign an adapter, the mediated matrix device is running. Attempts to assign an adapter,
domain or control domain will be rejected and an error (EBUSY) returned. domain or control domain will be rejected and an error (EBUSY) returned.
@ -562,6 +561,54 @@ facilities:
for guest usage, no AP devices can be made accessible to a for guest usage, no AP devices can be made accessible to a
guest started without APFT installed. guest started without APFT installed.
Hot plug a vfio-ap device into a running guest:
==============================================
Only one vfio-ap device can be attached to the virtual machine's ap-bus, so a
vfio-ap device can be hot plugged if and only if no vfio-ap device is attached
to the bus already, whether via the QEMU command line or a prior hot plug
action.
To hot plug a vfio-ap device, use the QEMU device_add command:
(qemu) device_add vfio-ap,sysfsdev="$path-to-mdev"
Where the '$path-to-mdev' value specifies the absolute path to a mediated
device to which AP resources to be used by the guest have been assigned.
Note that on Linux guests, the AP devices will be created in the
/sys/bus/ap/devices directory when the AP bus subsequently performs its periodic
scan, so there may be a short delay before the AP devices are accessible on the
guest.
The command will fail if:
* A vfio-ap device has already been attached to the virtual machine's ap-bus.
* The CPU model features for controlling guest access to AP facilities are not
enabled (see 'CPU model features' subsection in the previous section).
Hot unplug a vfio-ap device from a running guest:
================================================
A vfio-ap device can be unplugged from a running KVM guest if a vfio-ap device
has been attached to the virtual machine's ap-bus via the QEMU command line
or a prior hot plug action.
To hot unplug a vfio-ap device, use the QEMU device_del command:
(qemu) device_del vfio-ap,sysfsdev="$path-to-mdev"
Where $path-to-mdev is the same as the path specified when the vfio-ap
device was attached to the virtual machine's ap-bus.
On a Linux guest, the AP devices will be removed from the /sys/bus/ap/devices
directory on the guest when the AP bus subsequently performs its periodic scan,
so there may be a short delay before the AP devices are no longer accessible by
the guest.
The command will fail if the $path-to-mdev specified on the device_del command
does not match the value specified when the vfio-ap device was attached to
the virtual machine's ap-bus.
Example: Configure AP Matrixes for Three Linux Guests: Example: Configure AP Matrixes for Three Linux Guests:
===================================================== =====================================================
Let's now provide an example to illustrate how KVM guests may be given Let's now provide an example to illustrate how KVM guests may be given
@ -819,7 +866,11 @@ Limitations
assigned lest the host be given access to the private data of the AP queue assigned lest the host be given access to the private data of the AP queue
device, such as a private key configured specifically for the guest. device, such as a private key configured specifically for the guest.
* Dynamically modifying the AP matrix for a running guest (which would amount to * Dynamically assigning AP resources to or unassigning AP resources from a
hot(un)plug of AP devices for the guest) is currently not supported mediated matrix device - see 'Configuring an AP matrix for a linux guest'
section above - while a running guest is using it is currently not supported.
* Live guest migration is not supported for guests using AP devices. * Live guest migration is not supported for guests using AP devices. If a guest
is using AP devices, the vfio-ap device configured for the guest must be
unplugged before migrating the guest (see 'Hot unplug a vfio-ap device from a
running guest' section above.