qemu/hw/s390x
Cornelia Huck 759a5d3be0 vfio-ccw: forward halt/clear errors
hsch and csch basically have two parts: execute the command,
and perform the halt/clear function. For fully emulated
subchannels, it is pretty clear how it will work: check the
subchannel state, and actually 'perform the halt/clear function'
and set cc 0 if everything looks good.

For passthrough subchannels, some of the checking is done
within QEMU, but some has to be done within the kernel. QEMU's
subchannel state may be such that we can perform the async
function, but the kernel may still get a cc != 0 when it is
actually executing the instruction. In that case, we need to
set the condition actually encountered by the kernel; if we
set cc 0 on error, we would actually need to inject an interrupt
as well.

Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com>
Tested-by: Jared Rossi <jrossi@linux.ibm.com>
Message-Id: <20210705163952.736020-2-cohuck@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2021-09-06 16:22:54 +02:00
..
3270-ccw.c
ap-bridge.c
ap-device.c
ccw-device.c
ccw-device.h
css-bridge.c
css.c vfio-ccw: forward halt/clear errors 2021-09-06 16:22:54 +02:00
event-facility.c
ipl.c
ipl.h
Kconfig
meson.build
pv.c
s390-ccw.c
s390-pci-bus.c
s390-pci-inst.c
s390-pci-vfio.c
s390-skeys-kvm.c
s390-skeys.c
s390-stattrib-kvm.c
s390-stattrib.c
s390-virtio-ccw.c hw: Add compat machines for 6.2 2021-09-01 11:08:16 +01:00
s390-virtio-hcall.c
s390-virtio-hcall.h
sclp.c
sclpcpu.c
sclpquiesce.c
tod-kvm.c
tod-tcg.c
tod.c
trace-events
trace.h
vhost-user-fs-ccw.c
vhost-vsock-ccw.c
virtio-ccw-9p.c
virtio-ccw-balloon.c
virtio-ccw-blk.c
virtio-ccw-crypto.c
virtio-ccw-gpu.c
virtio-ccw-input.c
virtio-ccw-net.c
virtio-ccw-rng.c
virtio-ccw-scsi.c
virtio-ccw-serial.c
virtio-ccw.c
virtio-ccw.h