Message ID | 7d977612c3f3152ffb950d77ae11b4b25c1e20c4.1562854091.git.alifm@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Some vfio-ccw fixes | expand |
On Thu, 11 Jul 2019 10:28:55 -0400 Farhan Ali <alifm@linux.ibm.com> wrote: > We now support CLEAR SUBCHANNEL and HALT SUBCHANNEL > via ccw_cmd_region. > > Fixes: d5afd5d135c8 ("vfio-ccw: add handling for async channel instructions") > Signed-off-by: Farhan Ali <alifm@linux.ibm.com> > --- > Documentation/s390/vfio-ccw.rst | 31 ++++++++++++++++++++++++++++--- > 1 file changed, 28 insertions(+), 3 deletions(-) (...) > +vfio-ccw cmd region > +------------------- > + > +The vfio-ccw cmd region is used to accept asynchronous instructions > +from userspace. > + Add :: and indent the structure so that we get proper formatting? (Sorry about not noticing this last time; but I can add it while applying if there are no other comments.) > +#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0) > +#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1) > +struct ccw_cmd_region { > + __u32 command; > + __u32 ret_code; > +} __packed; > + > +This region is exposed via region type VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD. > + > +Currently, CLEAR SUBCHANNEL and HALT SUBCHANNEL use this region. > + Otherwise, Reviewed-by: Cornelia Huck <cohuck@redhat.com>
On 07/12/2019 07:30 AM, Cornelia Huck wrote: > On Thu, 11 Jul 2019 10:28:55 -0400 > Farhan Ali <alifm@linux.ibm.com> wrote: > >> We now support CLEAR SUBCHANNEL and HALT SUBCHANNEL >> via ccw_cmd_region. >> >> Fixes: d5afd5d135c8 ("vfio-ccw: add handling for async channel instructions") >> Signed-off-by: Farhan Ali <alifm@linux.ibm.com> >> --- >> Documentation/s390/vfio-ccw.rst | 31 ++++++++++++++++++++++++++++--- >> 1 file changed, 28 insertions(+), 3 deletions(-) > > (...) > >> +vfio-ccw cmd region >> +------------------- >> + >> +The vfio-ccw cmd region is used to accept asynchronous instructions >> +from userspace. >> + > > Add :: and indent the structure so that we get proper formatting? > > (Sorry about not noticing this last time; but I can add it while > applying if there are no other comments.) There is one other thing, I forgot to add a fixes tag to the first patch. If you don't mind fixing that as well that will be great :) otherwise I could send a new round > >> +#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0) >> +#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1) >> +struct ccw_cmd_region { >> + __u32 command; >> + __u32 ret_code; >> +} __packed; >> + >> +This region is exposed via region type VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD. >> + >> +Currently, CLEAR SUBCHANNEL and HALT SUBCHANNEL use this region. >> + > > Otherwise, > Reviewed-by: Cornelia Huck <cohuck@redhat.com> > Thanks for reviewing it Thanks Farhan
On 7/12/19 7:30 AM, Cornelia Huck wrote: > On Thu, 11 Jul 2019 10:28:55 -0400 > Farhan Ali <alifm@linux.ibm.com> wrote: > >> We now support CLEAR SUBCHANNEL and HALT SUBCHANNEL >> via ccw_cmd_region. >> >> Fixes: d5afd5d135c8 ("vfio-ccw: add handling for async channel instructions") >> Signed-off-by: Farhan Ali <alifm@linux.ibm.com> >> --- >> Documentation/s390/vfio-ccw.rst | 31 ++++++++++++++++++++++++++++--- >> 1 file changed, 28 insertions(+), 3 deletions(-) > > (...) > >> +vfio-ccw cmd region >> +------------------- >> + >> +The vfio-ccw cmd region is used to accept asynchronous instructions >> +from userspace. >> + > > Add :: and indent the structure so that we get proper formatting? > > (Sorry about not noticing this last time; but I can add it while > applying if there are no other comments.) > >> +#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0) >> +#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1) >> +struct ccw_cmd_region { >> + __u32 command; >> + __u32 ret_code; >> +} __packed; >> + >> +This region is exposed via region type VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD. >> + >> +Currently, CLEAR SUBCHANNEL and HALT SUBCHANNEL use this region. >> + > > Otherwise, > Reviewed-by: Cornelia Huck <cohuck@redhat.com> > Also good... Reviewed-by: Eric Farman <farman@linux.ibm.com>
diff --git a/Documentation/s390/vfio-ccw.rst b/Documentation/s390/vfio-ccw.rst index 1f6d0b5..be2af10 100644 --- a/Documentation/s390/vfio-ccw.rst +++ b/Documentation/s390/vfio-ccw.rst @@ -180,6 +180,13 @@ The process of how these work together. add it to an iommu_group and a vfio_group. Then we could pass through the mdev to a guest. + +VFIO-CCW Regions +---------------- + +The vfio-ccw driver exposes MMIO regions to accept requests from and return +results to userspace. + vfio-ccw I/O region ------------------- @@ -205,6 +212,25 @@ irb_area stores the I/O result. ret_code stores a return code for each access of the region. +This region is always available. + +vfio-ccw cmd region +------------------- + +The vfio-ccw cmd region is used to accept asynchronous instructions +from userspace. + +#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0) +#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1) +struct ccw_cmd_region { + __u32 command; + __u32 ret_code; +} __packed; + +This region is exposed via region type VFIO_REGION_SUBTYPE_CCW_ASYNC_CMD. + +Currently, CLEAR SUBCHANNEL and HALT SUBCHANNEL use this region. + vfio-ccw operation details -------------------------- @@ -306,9 +332,8 @@ Together with the corresponding work in QEMU, we can bring the passed through DASD/ECKD device online in a guest now and use it as a block device. -While the current code allows the guest to start channel programs via -START SUBCHANNEL, support for HALT SUBCHANNEL or CLEAR SUBCHANNEL is -not yet implemented. +The current code allows the guest to start channel programs via +START SUBCHANNEL, and to issue HALT SUBCHANNEL and CLEAR SUBCHANNEL. vfio-ccw supports classic (command mode) channel I/O only. Transport mode (HPF) is not supported.
We now support CLEAR SUBCHANNEL and HALT SUBCHANNEL via ccw_cmd_region. Fixes: d5afd5d135c8 ("vfio-ccw: add handling for async channel instructions") Signed-off-by: Farhan Ali <alifm@linux.ibm.com> --- Documentation/s390/vfio-ccw.rst | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-)