qemu-e2k/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.c s390x: sort some devices into categories 2017-10-06 10:53:02 +02:00
Makefile.objs s390x: get rid of s390-virtio.c 2017-09-19 18:31:31 +02:00
ccw-device.c s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
ccw-device.h s390x: vmstatify config migration for virtio-ccw 2017-07-05 12:16:55 +02:00
css-bridge.c s390x: add flags field for registering I/O adapter 2017-07-14 12:29:47 +02:00
css.c s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
event-facility.c s390x/event-facility: variable-length event masks 2017-10-20 13:32:10 +02:00
ipl.c s390x/ipl: The s390-ipl device is not hot-pluggable 2017-08-30 18:23:25 +02:00
ipl.h hw/s390x/ipl: enable LOADPARM in IPIB for a boot device 2017-05-02 15:08:54 +02:00
s390-ccw.c s390x: improve error handling for SSCH and RSCH 2017-10-20 13:32:10 +02:00
s390-pci-bus.c S390: use g_new() family of functions 2017-10-20 13:32:10 +02:00
s390-pci-bus.h s390x/pci: remove idx from msix msg data 2017-09-19 18:21:32 +02:00
s390-pci-inst.c s390x/pci: remove idx from msix msg data 2017-09-19 18:21:32 +02:00
s390-pci-inst.h s390x/pci: make S390PCIIOMMU inherit Object 2017-01-20 09:48:09 +01:00
s390-pci-stub.c s390x/pci: remove idx from msix msg data 2017-09-19 18:21:32 +02:00
s390-skeys-kvm.c s390x/s390-skeys: Mark the storage key devices with user_creatable = false 2017-08-30 18:23:25 +02:00
s390-skeys.c s390x/s390-skeys: Mark the storage key devices with user_creatable = false 2017-08-30 18:23:25 +02:00
s390-stattrib-kvm.c s390x/s390-stattrib: Mark the storage attribute as not user_creatable 2017-08-30 18:23:26 +02:00
s390-stattrib.c s390x/s390-stattrib: Mark the storage attribute as not user_creatable 2017-08-30 18:23:26 +02:00
s390-virtio-ccw.c s390x: move s390x_new_cpu() into board code 2017-10-20 13:32:10 +02:00
s390-virtio-hcall.c s390x: rename s390-virtio.h to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
s390-virtio-hcall.h s390x: move s390_virtio_hypercall() to s390-virtio-hcall.h 2017-09-19 18:31:31 +02:00
sclp.c s390x/sclp: Mark the sclp device with user_creatable = false 2017-10-06 10:53:02 +02:00
sclpcpu.c s390x/sclp: mark sclp-cpu-hotplug as non-usercreatable 2017-10-06 10:53:02 +02:00
sclpquiesce.c hw/s390x: Mark the "sclpquiesce" device with user_creatable = false 2017-10-06 10:53:02 +02:00
trace-events trace-events: fix code style: print 0x before hex numbers 2017-08-01 12:13:07 +01:00
virtio-ccw.c virtio-ccw: Add the virtio-input devices for CCW bus 2017-10-20 13:32:10 +02:00
virtio-ccw.h virtio-ccw: Add the virtio-input devices for CCW bus 2017-10-20 13:32:10 +02:00