[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 07/38] s390x/css: drop data-check in interpretatio
From: |
Cornelia Huck |
Subject: |
[Qemu-devel] [PULL v2 07/38] s390x/css: drop data-check in interpretation |
Date: |
Tue, 19 Sep 2017 18:43:06 +0200 |
From: Halil Pasic <address@hidden>
The architecture says that channel-data check is indicating that
an uncorrected storage (memory) error has been detected in regard
to the data residing in main storage (memory) that is currently
used for an I/O operation. The described detection is done using
the CBC technology.
The ccw interpretation code is however generating a channel-data check
effectively when the (device specific) ccw_cb returns -EFAULT. In case
of virtio-ccw devices this happens when mapping memory fails, or when a
NULL pointer is encountered. So this behavior is not architecture
conform.
Furthermore the best fit for these situations (null pointer, mapping a
piece of guest memory fails) from architectural perspective the condition
described as the channel subsystem refers to a location that is not
available, which when encountered shall result in a channel-program
check.
To fix this, all we have to do is to get rid of the switch case matching
-EFAULT: the default is generating a channel-program check.
Signed-off-by: Halil Pasic <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Cornelia Huck <address@hidden>
---
hw/s390x/css.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 5d3de71c4c..bab78fc79a 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -980,15 +980,6 @@ static void sch_handle_start_func_virtual(SubchDev *sch)
SCSW_STCTL_ALERT | SCSW_STCTL_STATUS_PEND;
s->cpa = sch->channel_prog + 8;
break;
- case -EFAULT:
- /* memory problem, generate channel data check */
- s->ctrl &= ~SCSW_ACTL_START_PEND;
- s->cstat = SCSW_CSTAT_DATA_CHECK;
- s->ctrl &= ~SCSW_CTRL_MASK_STCTL;
- s->ctrl |= SCSW_STCTL_PRIMARY | SCSW_STCTL_SECONDARY |
- SCSW_STCTL_ALERT | SCSW_STCTL_STATUS_PEND;
- s->cpa = sch->channel_prog + 8;
- break;
case -EBUSY:
/* subchannel busy, generate deferred cc 1 */
s->flags &= ~SCSW_FLAGS_MASK_CC;
--
2.13.5
- [Qemu-devel] [PULL v2 00/38] various s390x patches (+some fixes), Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 01/38] s390x/css: fix cc handling for XSCH, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 02/38] tests: Enable the drive_del test also on s390x, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 03/38] s390x/pci: remove idx from msix msg data, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 04/38] s390x/pci: fixup ind_offset of msix routing entry, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 05/38] s390x/pci: add iommu replay callback, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 06/38] hw/misc/ivshmem: Fix ivshmem_recv_msg() to also work on big endian systems, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 07/38] s390x/css: drop data-check in interpretation,
Cornelia Huck <=
- [Qemu-devel] [PULL v2 08/38] s390x/css: fix NULL handling for CCW addresses, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 09/38] s390x/css: remove unused error handling branch, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 10/38] s390: set DHCP client architecure id for netboot, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 11/38] exec, dump, i386, ppc, s390x: don't include exec/cpu-all.h explicitly, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 12/38] cpu: drop old comments describing members, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 13/38] s390x: get rid of s390-virtio.c, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 14/38] s390x: rename s390-virtio.h to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 15/38] s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 16/38] s390x: move subsystem_reset() to s390-virtio-ccw.h, Cornelia Huck, 2017/09/19
- [Qemu-devel] [PULL v2 17/38] target/s390x: move some s390x typedefs to cpu-qom.h, Cornelia Huck, 2017/09/19