The DXC was not handled by TCG correctly (and I have a patch series on the QEMU list, which fixes that). Add a simple test case that forces a DATA exception and verifies that the DXC (0xff) is written to the right locations. One time with and one time without AFP. While at it, I found one bug related to storing/saving floating point registers during interrupts and added one cleanup. Tested under KVM and under TCG. v1 -> v2: - Added "s390x: fix spelling of "initial"" - Minor style + spelling fixes David Hildenbrand (5): s390x: user ctl_set/clear_bit for low address protection s390x: fix storing/loading fregs to right address s390x: fix spelling of "initial" s390x: save/restore cr0 in IRQ handlers s390x: test if the DXC is correctly stored lib/s390x/asm-offsets.c | 1 + lib/s390x/asm/arch_def.h | 4 ++- lib/s390x/asm/float.h | 51 +++++++++++++++++++++++++++++++++++++++ lib/s390x/asm/interrupt.h | 12 ++------- s390x/cstart64.S | 19 ++++++++++----- s390x/emulator.c | 34 ++++++++++++++++++++++++++ 6 files changed, 104 insertions(+), 17 deletions(-) create mode 100644 lib/s390x/asm/float.h -- 2.17.1