On Fri, Jun 18 2021, Eric Farman <far...@linux.ibm.com> wrote: > Conny, et al, > > Here is a quick update to the series for fixing passthrough > sense data in the irb, using a subchannel-specific callback. > > As before, the first three patches are code refactoring. > Since patch 3 doesn't implement the callback for vfio-ccw > subchannels, it fixes the problem encountered with > "dasdfmt -M quick" failing to run correctly in the guest. > Since the callback isn't invoked for passthrough subchannels > the SCSW and ERW bits don't get set indicating sense data > is present, even though the sense data itself is still zero. > > Patch 4 implements that for vfio-ccw. >
LGTM. I'll take it for a spin and probably queue it. > v3->v4: > - [CH] Rename ESW.sublog to ESW.word0 > - [CH] Add comment that ESW.f_addr and .s_addr are only Fmt0 ESW > - [CH] Always copy ECW data into IRB to include mysterious > "model-dependent information" that could exist there > - [TH] Added r-b to patch 2 (thank you!!) > > v2->v3: > - [EF] Drop Fixes tag > - [CH] Implement a callback for the IRB sense data > - [CH] Copy IRB.ESW from passthrough hardware > - [CH] Only put sense in IRB.ECW if passthrough device did > > v1->v2: > - [MR] Add Fixes: tags > - [CH] Reinstate the memcpy(sch->sense_data, irb.ecw) in vfio_ccw > - [CH] Look at IRB.SCSW.E before copying sense into guest IRB > > v3: > https://lore.kernel.org/qemu-devel/20210616014749.2460133-1-far...@linux.ibm.com/ > v2: > https://lore.kernel.org/qemu-devel/20210611202151.615410-1-far...@linux.ibm.com/ > v1: > https://lore.kernel.org/qemu-devel/20210610202011.391029-1-far...@linux.ibm.com/ > > Eric Farman (4): > s390x/css: Introduce an ESW struct > s390x/css: Split out the IRB sense data > s390x/css: Refactor IRB construction > s390x/css: Add passthrough IRB > > hw/s390x/3270-ccw.c | 1 + > hw/s390x/css.c | 87 ++++++++++++++++++++++++++++----------- > hw/s390x/s390-ccw.c | 1 + > hw/s390x/virtio-ccw.c | 1 + > hw/vfio/ccw.c | 4 ++ > include/hw/s390x/css.h | 5 +++ > include/hw/s390x/ioinst.h | 12 +++++- > 7 files changed, 86 insertions(+), 25 deletions(-)