This patch-set improve the Service-Call Logical Processor support for s390. We tried to implement most of the comments that we got from the first patch review.
We still have code in hw/ since sclp supports features like console etc. target-s390/op_helper.c now handles the basic checks for the instruction itself and then passes control to the sclp code, which then parses the commands. Patch 1 is a bugfix for the current code, dealing with error and condition code handling. Patch 2 adds/changes some base SCLP support. Patch 3 adds code to support the SCLP commands Write Event Mask, Write Event Data, and Read Event Data. Patch 4 and 5 add code to implement the commands for the particular SCLP events Signal Quiesce (system_powerdown), and ASCII Console data. Patch 6 (s390: make sclp ascii console the default) is currently optional as it requires a kernel fix in the guest (http://git.kernel.org/?p=virt/kvm/kvm.git;a=commit;h=cd1834591fe9564720ac4b0193bf1c790fe89f0d KVM: s390: Perform early event mask processing during boot) Thanks Christian Borntraeger (2): s390: Fix error handling and condition code of service call s390: make sclp ascii console the default Heinz Graalfs (4): s390: sclp base support s390: sclp event support s390: sclp signal quiesce support s390: sclp ascii console support hw/s390-event-facility.c | 418 ++++++++++++++++++++++++++++++++++++++++++++++ hw/s390-event-facility.h | 107 ++++++++++++ hw/s390-sclp.c | 185 ++++++++++++++++++++ hw/s390-sclp.h | 123 ++++++++++++++ hw/s390-sclpconsole.c | 313 ++++++++++++++++++++++++++++++++++ hw/s390-sclpquiesce.c | 113 +++++++++++++ hw/s390-virtio.c | 4 +- hw/s390x/Makefile.objs | 1 + target-s390x/cpu.c | 17 ++ target-s390x/cpu.h | 18 +- target-s390x/kvm.c | 10 +- target-s390x/op_helper.c | 68 +++----- vl.c | 40 +++++ 13 files changed, 1351 insertions(+), 66 deletions(-) create mode 100644 hw/s390-event-facility.c create mode 100644 hw/s390-event-facility.h create mode 100644 hw/s390-sclp.c create mode 100644 hw/s390-sclp.h create mode 100644 hw/s390-sclpconsole.c create mode 100644 hw/s390-sclpquiesce.c -- 1.7.10.5