On Sun, 17 May 2020 19:52:43 +0200 Thomas Huth <th...@redhat.com> wrote:
> On 15/05/2020 17.15, Cornelia Huck wrote: > > Add a basic example for passing a dasd via vfio-ccw. > > > > Signed-off-by: Cornelia Huck <coh...@redhat.com> > > --- > > docs/system/s390x/vfio-ccw.rst | 72 ++++++++++++++++++++++++++++++++++ > > docs/system/target-s390x.rst | 1 + > > 2 files changed, 73 insertions(+) > > create mode 100644 docs/system/s390x/vfio-ccw.rst > > > > diff --git a/docs/system/s390x/vfio-ccw.rst b/docs/system/s390x/vfio-ccw.rst > > new file mode 100644 > > index 000000000000..4cfd22c3b789 > > --- /dev/null > > +++ b/docs/system/s390x/vfio-ccw.rst > > @@ -0,0 +1,72 @@ > > +Subchannel passthrough via vfio-ccw > > +=================================== > > + > > +vfio-ccw (based upon the mediated vfio device infrastructure) allows to > > +make certain I/O subchannels and their devices available to a guest. The > > +host will not interact with those subchannels/devices any more. > > + > > +Note that while vfio-ccw should work with most non-QDIO devices, only ECKD > > +DASDs have really been tested. > > + > > +Example configuration > > +--------------------- > > + > > +Step 1: configure the host device > > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > + > > +Note: it is recommended to use the ``mdevctl`` tool for this step. > > + > > +To define the same device as configured below to be started > > +automatically, use > > + > > +:: > > + > > + [root@host ~]# driverctl -b css set-override 0.0.0313 vfio_ccw > > + [root@host ~]# mdevctl define -u 7e270a25-e163-4922-af60-757fc8ed48c6\ > > + -p 0.0.0313 -t vfio-ccw_io -a > > + > > +If this is not possible or wanted, follow the manual procedure below. > > + > > +* Locate the subchannel for the device (in this example, ``0.0.2b09``):: > > + > > + [root@host ~]# lscss | grep 0.0.2b09 | awk '{print $2}' > > + 0.0.0313 > > + > > +* Unbind the subchannel (in this example, ``0.0.0313``) from the standard > > + I/O subchannel driver and bind it to the vfio-ccw driver:: > > + > > + [root@host ~]# echo 0.0.0313 > > > /sys/bus/css/devices/0.0.0313/driver/unbind > > + [root@host ~]# echo 0.0.0313 > /sys/bus/css/drivers/vfio_ccw/bind > > + > > +* Create the mediated device (identified by a uuid):: > > + > > + [root@host ~]# uuidgen > > + 7e270a25-e163-4922-af60-757fc8ed48c6 > > Maybe the uuidgen lines should now be moved before the mdevctl example > already, so that it is already clear there where the uuid comes from? Yeah, makes sense.