I wanted to add AFP-register control related checks for a long time.
However, doing these checks in each and every relevant handler is ugly.
As I will need similar checks for vector instructions (yes, I'm looking into
that but it might take some time), I decided to introduce per-instruction
flags, that allow to to check such "instruction properties" globally.
Tagging e.g. privileged instructions that way turns out quite nice.
Of course, while at it some fixes and cleanups.
David Hildenbrand (8):
s390x/tcg: factor out and fix DATA exception injection
s390x/tcg: store in the TB flags if AFP is enabled
s390x/tcg: support flags for instructions
s390x/tcg: add instruction flags for floating point instructions
s390x/tcg: check for AFP-register, BFP and DFP data exceptions
s390x/tcg: handle privileged instructions via flags
s390x/tcg: fix FP register pair checks
s390x/tcg: refactor specification checking
target/s390x/cpu.h | 9 +
target/s390x/excp_helper.c | 28 +++
target/s390x/fpu_helper.c | 13 +-
target/s390x/helper.h | 1 +
target/s390x/insn-data.def | 395 +++++++++++++++++++------------------
target/s390x/tcg_s390x.h | 2 +
target/s390x/translate.c | 197 ++++++++----------
7 files changed, 320 insertions(+), 325 deletions(-)
--
2.17.1