I'm a contributor to OpenMdev. This wiki is meant to document how VFIO and SR-IOV functions work (including on consumer devices).
Here are a few of the good articles on the site (I think):
https://openmdev.io/index.php/LibVF.IO
https://openmdev.io/index.php/Mediated_Device_Internals