xqemu/include/hw/s390x
Halil Pasic 66dc50f705 s390x: improve error handling for SSCH and RSCH
Simplify the error handling of the SSCH and RSCH handler avoiding
arbitrary and cryptic error codes being used to tell how the instruction
is supposed to end.  Let the code detecting the condition tell how it's
to be handled in a less ambiguous way.  It's best to handle SSCH and RSCH
in one go as the emulation of the two shares a lot of code.

For passthrough this change isn't pure refactoring, but changes the way
kernel reported EFAULT is handled. After clarifying the kernel interface
we decided that EFAULT shall be mapped to unit exception.  Same goes for
unexpected error codes and absence of required ORB flags.

Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Message-Id: <20171017140453.51099-4-pasic@linux.vnet.ibm.com>
Tested-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
[CH: cosmetic changes]
Reviewed-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2017-10-20 13:32:10 +02:00
..
3270-ccw.h s390x/3270: IDA support for 3270 via CcwDataStream 2017-10-06 10:53:02 +02:00
adapter.h s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
css-bridge.h s390x/css: realize css_create_sch 2017-05-19 12:29:01 +02:00
css.h s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
ebcdic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
event-facility.h s390x/event-facility: variable-length event masks 2017-10-20 13:32:10 +02:00
ioinst.h s390x/css: use macro for event-information pending error recover code 2017-08-30 18:23:25 +02:00
s390-ccw.h s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
s390-virtio-ccw.h s390x: move subsystem_reset() to s390-virtio-ccw.h 2017-09-19 18:31:31 +02:00
s390_flic.h s390x/flic: migrate ais states 2017-07-14 12:29:49 +02:00
sclp.h s390x: move sclp_service_call() to sclp.h 2017-09-19 18:31:31 +02:00
storage-attributes.h s390x/migration: Monitor commands for storage attributes 2017-07-14 12:29:47 +02:00
storage-keys.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00