qemu-e2k/target/s390x
David Hildenbrand dce0a58fd6 s390x/tcg: Implement XxC and checks for most FP instructions
With the floating-point extension facility
- CONVERT FROM LOGICAL
- CONVERT TO LOGICAL
- CONVERT TO FIXED
- CONVERT FROM FIXED
- LOAD FP INTEGER
have both, a rounding mode specification and the inexact-exception control
(XxC). Other instructions will be handled separatly.

Check for valid rounding modes and forward also the XxC (via m4). To avoid
a lot of boilerplate code and changes to the helpers, combine both, the
m3 and m4 field in a combined 32 bit TCG variable. Perform checks at
a central place, taking in account if the m3 or m4 field was ignore
before the floating-point extension facility was introduced.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190218122710.23639-13-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2019-03-04 11:49:31 +01:00
..
arch_dump.c compiler: add a sizeof_field() macro 2018-06-27 13:01:40 +01:00
cc_helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
cpu_features_def.h s390x/cpumodel: Set up CPU model for AP device support 2018-10-12 11:32:18 +02:00
cpu_features.c s390x/cpumodel: mepochptff: warn when no mepoch and re-align group init 2019-02-18 11:25:43 +01:00
cpu_features.h s390x/cpumodel: enum type S390FeatGroup now gets generated 2018-08-20 14:18:49 +02:00
cpu_models.c QAPI patches for 2019-02-18 2019-02-18 14:23:13 +00:00
cpu_models.h s390x/cpumodel: default enable mepoch for z14 and later 2019-02-18 11:25:43 +01:00
cpu-qom.h target/s390x: change CPU type name to "s390x-cpu" 2017-10-30 08:56:28 +01:00
cpu.c s390x: Fix the confusing contributions-after-2012 license statements 2019-02-18 11:25:43 +01:00
cpu.h s390x: Fix the confusing contributions-after-2012 license statements 2019-02-18 11:25:43 +01:00
crypto_helper.c s390x/tcg: introduce and use s390_program_interrupt() 2017-12-14 17:56:54 +01:00
diag.c s390x: Return specification exception for unimplemented diag 308 subcodes 2019-01-18 11:52:00 +01:00
excp_helper.c s390x/tcg: Save vregs to extended mchk save area 2019-03-04 11:49:31 +01:00
fpu_helper.c s390x/tcg: Implement XxC and checks for most FP instructions 2019-03-04 11:49:31 +01:00
gdbstub.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
gen-features.c s390x/cpumodel: add z14 GA2 model 2019-02-18 11:25:43 +01:00
helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
helper.h s390x/tcg: Check for exceptions in SET BFP ROUNDING MODE 2019-03-04 11:49:31 +01:00
insn-data.def s390x/tcg: Check for exceptions in SET BFP ROUNDING MODE 2019-03-04 11:49:31 +01:00
insn-format.def s390x/tcg: RXE has an optional M3 field 2019-03-04 11:49:31 +01:00
int_helper.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
internal.h s390x/tcg: Refactor saving/restoring the bfp rounding mode 2019-03-04 11:49:31 +01:00
interrupt.c s390x: move tcg_s390_program_interrupt() into TCG code and mark it noreturn 2018-10-04 10:32:39 +02:00
ioinst.c s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG) 2017-12-14 17:56:54 +01:00
kvm_s390x.h s390x/tod: factor out TOD into separate device 2018-07-02 10:37:38 +02:00
kvm-stub.c s390x/kvm: pass values instead of pointers to kvm_s390_set_clock_*() 2018-07-02 10:37:38 +02:00
kvm.c s390x/kvm: add tracepoint to ioeventfd interface 2019-02-18 11:25:43 +01:00
machine.c s390x/kvm: add etoken facility 2018-08-20 14:18:49 +02:00
Makefile.objs s390x/tcg: rearm the CKC timer during migration 2018-07-02 10:37:38 +02:00
mem_helper.c target/s390x: Fix LGPL version in the file header comments 2019-01-30 11:04:02 +01:00
misc_helper.c target/s390x: Implement STCK et al for CONFIG_USER_ONLY 2019-02-18 11:25:43 +01:00
mmu_helper.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
s390-tod.h target/s390x: Split out s390-tod.h 2019-02-18 11:25:43 +01:00
sigp.c Make address_space_access_valid() take a MemTxAttrs argument 2018-05-31 16:32:35 +01:00
tcg_s390x.h s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
tcg-stub.c s390x/tcg: factor out and fix DATA exception injection 2018-10-04 10:32:39 +02:00
trace-events s390x/kvm: add tracepoint to ioeventfd interface 2019-02-18 11:25:43 +01:00
translate.c s390x/tcg: Implement XxC and checks for most FP instructions 2019-03-04 11:49:31 +01:00