On Wed, Jun 16 2021, Eric Farman <far...@linux.ibm.com> wrote: > Wire in the subchannel callback for building the IRB > ESW and ECW space for passthrough devices, and copy > the hardware's ESW into the IRB we are building. > > If the hardware presented concurrent sense, then copy > that sense data into the IRB's ECW space. > > Signed-off-by: Eric Farman <far...@linux.ibm.com> > --- > hw/s390x/css.c | 13 ++++++++++++- > hw/s390x/s390-ccw.c | 1 + > hw/vfio/ccw.c | 4 ++++ > include/hw/s390x/css.h | 3 +++ > 4 files changed, 20 insertions(+), 1 deletion(-) >
(...) > +void build_irb_passthrough(SubchDev *sch, IRB *irb) > +{ > + /* Copy ESW from hardware */ > + irb->esw = sch->esw; > + > + if (irb->esw.erw & ESW_ERW_SENSE) { > + /* Copy ECW from hardware */ > + build_irb_sense_data(sch, irb); > + } I'm wondering whether we should also copy "Model-dependent information" (scsw 5 + 14 set, erw 7 unset). Seems more correct, and IIUC the guest was tripped by the presence of erw 7 without valid sense data. > +} > +