On Fri, 22 Feb 2019 16:29:56 +0100
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
We need to associate the ap_vfio_queue, which will hold the
per queue information for interrupt with a matrix mediated device
which hold the configuration and the way to the CRYCB.
Let's do this when assigning a APID or a APQI to the mediated device
and clear the relation when unassigning.
Queuing the devices on a list of free devices and testing the
matrix_mdev pointer to the associated matrix allow us to know
if the queue is associated to the matrix device and associated
or not to a mediated device.
When resetting an AP queue we must wait until there are no more
messages in the message queue before considering the queue is really
in a clean state.
Let's do it and wait until the status response code indicate the
queue is empty after issuing a PAPQ/ZAPQ instruction.
I'm a bit confused about the context where that list moving etc. is
supposed to take place.
When are we assigning/deassigning? Is there even supposed to be any
activity that we need to zap on the queues?
Do we need any serialization/locking on the lists?