s390x/css: Refactor IRB construction
commit0599a046acf1b625e97cef0aa702b5d86528c642
authorEric Farman <farman@linux.ibm.com>
Thu, 17 Jun 2021 23:25:36 +0000 (18 01:25 +0200)
committerCornelia Huck <cohuck@redhat.com>
Mon, 21 Jun 2021 06:48:21 +0000 (21 08:48 +0200)
treef56070fca37d6ca5acea5e4fa86cc1356cd9ec4a
parent1b01dedaed41c2ca6129475c22b7b778b109fae8
s390x/css: Refactor IRB construction

Currently, all subchannel types have "sense data" copied into
the IRB.ECW space, and a couple flags enabled in the IRB.SCSW
and IRB.ESW. But for passthrough (vfio-ccw) subchannels,
this data isn't populated in the first place, so enabling
those flags leads to unexpected behavior if the guest tries to
process the sense data (zeros) in the IRB.ECW.

Let's add a subchannel callback that builds these portions of
the IRB, and move the existing code into a routine for those
virtual subchannels. The passthrough subchannels will be able
to piggy-back onto this later.

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Message-Id: <20210617232537.1337506-4-farman@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/s390x/3270-ccw.c
hw/s390x/css.c
hw/s390x/virtio-ccw.c
include/hw/s390x/css.h