qemu-e2k/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 s390x/css: Refactor IRB construction 2021-06-21 08:48:21 +02:00
ap-bridge.c qdev: Drop qbus_set_hotplug_handler() parameter @errp 2020-07-02 06:25:29 +02:00
ap-device.c ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
ccw-device.c hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
ccw-device.h hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent 2021-05-20 14:19:30 +02:00
css-bridge.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
css.c vfio-ccw: forward halt/clear errors 2021-09-06 16:22:54 +02:00
event-facility.c s390/sclp: read sccb from mem based on provided length 2020-10-02 13:52:49 +02:00
ipl.c error: Use error_fatal to simplify obvious fatal errors (again) 2021-08-26 17:15:28 +02:00
ipl.h s390x: Avoid variable size warning in ipl.h 2020-11-10 08:51:30 +01:00
Kconfig
meson.build hw/s390x: only build tod-tcg from the CONFIG_TCG build 2021-07-07 14:01:54 +02:00
pv.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-ccw.c s390x/css: Add passthrough IRB 2021-06-21 08:48:21 +02:00
s390-pci-bus.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-pci-inst.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
s390-pci-vfio.c s390x/pci: Add missing initialization for g_autofree variables 2021-03-15 15:47:18 +01:00
s390-skeys-kvm.c
s390-skeys.c s390x: do not use ram_size global 2020-12-10 12:15:09 -05:00
s390-stattrib-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
s390-stattrib.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
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 Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpcpu.c Do not include cpu.h if it's not really necessary 2021-05-02 17:24:51 +02:00
sclpquiesce.c
tod-kvm.c target/s390x: move kvm files into kvm/ 2021-07-07 14:01:59 +02:00
tod-tcg.c target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
tod.c hw/s390x: tod: make explicit checks for accelerators when initializing 2021-07-07 14:01:54 +02:00
trace-events docs: fix references to docs/devel/tracing.rst 2021-06-02 06:51:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
vhost-user-fs-ccw.c virtio: add vhost-user-fs-ccw device 2020-09-23 13:41:58 +01:00
vhost-vsock-ccw.c vhost-vsock-ccw: force virtio version 1 2020-09-29 02:15:24 -04:00
virtio-ccw-9p.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-balloon.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-blk.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-crypto.c virtio: Drop broken and superfluous object_property_set_link() 2020-07-22 07:57:07 -04:00
virtio-ccw-gpu.c modules: add s390x module annotations 2021-07-09 18:20:27 +02:00
virtio-ccw-input.c virtio-ccw-input: fix description 2020-08-27 12:37:03 +02:00
virtio-ccw-net.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-rng.c virtio: Drop broken and superfluous object_property_set_link() 2020-07-22 07:57:07 -04:00
virtio-ccw-scsi.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw-serial.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
virtio-ccw.c virtio: disable ioeventfd for record/replay 2021-07-02 10:20:13 -04:00
virtio-ccw.h s390x: add have_virtio_ccw 2021-03-26 09:33:50 +01:00