s390x/css: drop data-check in interpretation
commit248b920df95a5e3df10c16be63b017653c7ba730
authorHalil Pasic <pasic@linux.vnet.ibm.com>
Fri, 8 Sep 2017 15:24:43 +0000 (8 17:24 +0200)
committerCornelia Huck <cohuck@redhat.com>
Tue, 19 Sep 2017 16:21:33 +0000 (19 18:21 +0200)
treeac5cb67a0ca331ad01a6f53df57c9125efbf97a8
parent51af0ec9fa7269f0c69aa50a1a24748b4edc4b44
s390x/css: drop data-check in interpretation

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 <pasic@linux.vnet.ibm.com>
Message-Id: <20170908152446.14606-2-pasic@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/s390x/css.c