qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/9] s390x: instruction flags and AFP registers for TCG
@ 2018-08-30 12:27 David Hildenbrand
  2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 1/9] s390x: move tcg_s390_program_interrupt() into TCG code and mark it noreturn David Hildenbrand
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: David Hildenbrand @ 2018-08-30 12:27 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Thomas Huth, Christian Borntraeger, Cornelia Huck,
	Richard Henderson, Alexander Graf, David Hildenbrand

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.

v1 -> v2:
- added "s390x: move tcg_s390_program_interrupt() into TCG code and ..."
- Some checkpatch changes lead to some false positives in the last two
  patches ... to work around them, I dropped some unnecessary parantheses.

David Hildenbrand (9):
  s390x: move tcg_s390_program_interrupt() into TCG code and mark it
    noreturn
  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 |  36 ++++
 target/s390x/fpu_helper.c  |  13 +-
 target/s390x/helper.h      |   1 +
 target/s390x/insn-data.def | 395 +++++++++++++++++++------------------
 target/s390x/interrupt.c   |  15 +-
 target/s390x/kvm.c         |   3 +-
 target/s390x/tcg-stub.c    |  10 +
 target/s390x/tcg_s390x.h   |   4 +
 target/s390x/translate.c   | 197 ++++++++----------
 10 files changed, 343 insertions(+), 340 deletions(-)

-- 
2.17.1

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2018-08-30 20:01 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-30 12:27 [Qemu-devel] [PATCH v2 0/9] s390x: instruction flags and AFP registers for TCG David Hildenbrand
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 1/9] s390x: move tcg_s390_program_interrupt() into TCG code and mark it noreturn David Hildenbrand
2018-08-30 19:06   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 2/9] s390x/tcg: factor out and fix DATA exception injection David Hildenbrand
2018-08-30 19:12   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 3/9] s390x/tcg: store in the TB flags if AFP is enabled David Hildenbrand
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 4/9] s390x/tcg: support flags for instructions David Hildenbrand
2018-08-30 19:13   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 5/9] s390x/tcg: add instruction flags for floating point instructions David Hildenbrand
2018-08-30 19:45   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 6/9] s390x/tcg: check for AFP-register, BFP and DFP data exceptions David Hildenbrand
2018-08-30 19:43   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 7/9] s390x/tcg: handle privileged instructions via flags David Hildenbrand
2018-08-30 19:48   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 8/9] s390x/tcg: fix FP register pair checks David Hildenbrand
2018-08-30 19:55   ` Richard Henderson
2018-08-30 12:27 ` [Qemu-devel] [PATCH v2 9/9] s390x/tcg: refactor specification checking David Hildenbrand
2018-08-30 19:57   ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).