qemu-e2k/target/s390x
David Hildenbrand df192fbc51 s390x: Add floating-point extension facility to "qemu" cpu model
The floating-point extension facility implemented certain changes to
BFP, HFP and DFP instructions.

As we don't implement HFP/DFP, we can ignore those completely. Related
to BFP, the changes include
- SET BFP ROUNDING MODE (SRNMB) instruction
- BFP-rounding-mode field in the FPC register is changed to 3 bits
- CONVERT FROM LOGICAL instructions
- CONVERT TO LOGICAL instructions
- Changes (rounding mode + XxC) added to
-- CONVERT TO FIXED
-- CONVERT FROM FIXED
-- LOAD FP INTEGER
-- LOAD ROUNDED
-- DIVIDE TO INTEGER

For TCG, we don't implement DIVIDE TO INTEGER, and it is harder to
implement, so skip that. Also, as we don't implement PFPO, we can skip
changes to that as well. The other parts are now implemented, we can
indicate the facility.

z14 PoP mentions that "The floating-point extension facility is installed
in the z/Architecture architectural mode. When bit 37 is one, bit 42 is
also one.", meaning that the DFP (decimal-floating-point) facility also
has to be indicated. We can ignore that for now.

Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190218122710.23639-16-david@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
2019-03-04 11:49:31 +01:00
..
arch_dump.c
cc_helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
cpu_features_def.h
cpu_features.c
cpu_features.h
cpu_models.c QAPI patches for 2019-02-18 2019-02-18 14:23:13 +00:00
cpu_models.h
cpu-qom.h
cpu.c
cpu.h
crypto_helper.c
diag.c
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: Handle all rounding modes overwritten by BFP instructions 2019-03-04 11:49:31 +01:00
gdbstub.c
gen-features.c s390x: Add floating-point extension facility to "qemu" cpu model 2019-03-04 11:49:31 +01:00
helper.c s390x/tcg: Implement LOAD COUNT TO BLOCK BOUNDARY 2019-03-04 11:49:31 +01:00
helper.h s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED 2019-03-04 11:49:31 +01:00
insn-data.def s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED 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
internal.h s390x/tcg: Refactor saving/restoring the bfp rounding mode 2019-03-04 11:49:31 +01:00
interrupt.c
ioinst.c
kvm_s390x.h
kvm-stub.c
kvm.c
machine.c
Makefile.objs
mem_helper.c
misc_helper.c
mmu_helper.c
s390-tod.h
sigp.c
tcg_s390x.h
tcg-stub.c
trace-events
translate.c s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED 2019-03-04 11:49:31 +01:00