All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 00/30] target/s390x: fix, improve and implement some more instructions
@ 2017-05-31 22:00 Aurelien Jarno
  2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 01/30] target/s390x: remove dead code in translate.c Aurelien Jarno
                   ` (29 more replies)
  0 siblings, 30 replies; 43+ messages in thread
From: Aurelien Jarno @ 2017-05-31 22:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: Aurelien Jarno

This patchset tries to improve the s390x emulation by fixing and
improving some instructions. It implement some more instructions, from
the zArchitecture base or from the Extended-Translation Facility 2. The
last patch updates the maximum TCG CPU to z800, as the ETF2 and
Long-Displacement Facility are now both fully implemented.

This patch series is based on the s390x unwind and execute patches
from Richard Henderson and the qemu cpu_models patch from Thomas Huth.
It includes feedback from both.

v1 -> v2:
- add a patch to improve IPTE
- implement local-TLB-clearing in IPTE
- use tcg_gen_atomic_xchg_i32 in TEST AND SET
- use gen_op_movi_cc in TEST ADDRESSING MODE
- use helper_atomic_ldo_be_mmu in LOAD PAIR FROM QUADWORD
- use helper_atomic_sto_be_mmu in STORE PAIR TO QUADWORD
- add a patch to implement COMPARE AND SIGNAL
- rename dest and src into src1 and src3 and check that r1 & r3 are even
  in COMPARE LOGICAL LONG EXTENDED
- check that r1 & r2 are even in COMPARE LOGICAL LONG
- check that r1 & r3 are even in COMPARE LOGICAL LONG UNICODE
- move the adj_len_to_page patch before MVCL/MVCLE changes and simplify
  the expression a bit
- fix indentation in MOVE LONG UNICODE
- rebase the cpu model upgrade to z800 onto the qemu cpu_models patch
  from Thomas Huth and use s390_find_cpu_def to get the z800 model.

v2 -> v3:
- rename _VADDR_PX into VADDR_PX in IPTE patch
- check for alignment in LOAD PAIR FROM QUADWORD using MO_ALIGN16
- check for alignment in STORE PAIR TO QUADWORD using MO_ALIGN16
- remove side effect flags from COMPARE AND SIGNAL helpers
- pass the tst value as an argument ot the TRANSLATE ONE/TWO TO ONE/TWO
  helper and check for the M3 value
- add a patch to enable the ETF2-Enhancement Facility

Aurelien Jarno (30):
  target/s390x: remove dead code in translate.c
  target/s390x: remove some Linux assumptions from IPTE
  target/s390x: implement local-TLB-clearing in IPTE
  target/s390x: implement TEST AND SET
  target/s390x: implement TEST ADDRESSING MODE
  target/s390x: implement PACK
  target/s390x: implement LOAD PAIR FROM QUADWORD
  target/s390x: implement STORE PAIR TO QUADWORD
  target/s390x: implement COMPARE AND SIGNAL
  target/s390x: implement MOVE INVERSE
  target/s390x: implement MOVE NUMERICS
  target/s390x: implement MOVE WITH OFFSET
  target/s390x: implement MOVE ZONES
  target/s390x: improve 24-bit and 31-bit addresses read
  target/s390x: improve 24-bit and 31-bit addresses write
  target/s390x: improve 24-bit and 31-bit lengths read/write
  target/s390x: fix COMPARE LOGICAL LONG EXTENDED
  target/s390x: implement COMPARE LOGICAL LONG
  target/s390x: fix adj_len_to_page
  target/s390x: improve MOVE LONG and MOVE LONG EXTENDED
  target/s390x: implement COMPARE LOGICAL LONG UNICODE
  target/s390x: implement MOVE LONG UNICODE
  target/s390x: implement PACK ASCII
  target/s390x: implement PACK UNICODE
  target/s390x: implement UNPACK ASCII
  target/s390x: implement UNPACK UNICODE
  target/s390x: implement TEST DECIMAL
  target/s390x: implement TRANSLATE ONE/TWO TO ONE/TWO
  target/s390x: mark ETF2 and ETF2-ENH facilities as available
  target/s390x: update maximum TCG model to z800

 target/s390x/cpu.h         |   2 +
 target/s390x/cpu_models.c  |  13 +-
 target/s390x/fpu_helper.c  |  27 ++
 target/s390x/helper.h      |  21 +-
 target/s390x/insn-data.def |  57 ++++
 target/s390x/mem_helper.c  | 746 +++++++++++++++++++++++++++++++++++++--------
 target/s390x/misc_helper.c |   4 +-
 target/s390x/mmu_helper.c  |   2 -
 target/s390x/translate.c   | 335 ++++++++++++++++++--
 9 files changed, 1052 insertions(+), 155 deletions(-)

-- 
2.11.0

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

end of thread, other threads:[~2017-06-02 14:41 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-31 22:00 [Qemu-devel] [PATCH v3 00/30] target/s390x: fix, improve and implement some more instructions Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 01/30] target/s390x: remove dead code in translate.c Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 02/30] target/s390x: remove some Linux assumptions from IPTE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 03/30] target/s390x: implement local-TLB-clearing in IPTE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 04/30] target/s390x: implement TEST AND SET Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 05/30] target/s390x: implement TEST ADDRESSING MODE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 06/30] target/s390x: implement PACK Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 07/30] target/s390x: implement LOAD PAIR FROM QUADWORD Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 08/30] target/s390x: implement STORE PAIR TO QUADWORD Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 09/30] target/s390x: implement COMPARE AND SIGNAL Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 10/30] target/s390x: implement MOVE INVERSE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 11/30] target/s390x: implement MOVE NUMERICS Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 12/30] target/s390x: implement MOVE WITH OFFSET Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 13/30] target/s390x: implement MOVE ZONES Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 14/30] target/s390x: improve 24-bit and 31-bit addresses read Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 15/30] target/s390x: improve 24-bit and 31-bit addresses write Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 16/30] target/s390x: improve 24-bit and 31-bit lengths read/write Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 17/30] target/s390x: fix COMPARE LOGICAL LONG EXTENDED Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 18/30] target/s390x: implement COMPARE LOGICAL LONG Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 19/30] target/s390x: fix adj_len_to_page Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 20/30] target/s390x: improve MOVE LONG and MOVE LONG EXTENDED Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 21/30] target/s390x: implement COMPARE LOGICAL LONG UNICODE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 22/30] target/s390x: implement MOVE " Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 23/30] target/s390x: implement PACK ASCII Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 24/30] target/s390x: implement PACK UNICODE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 25/30] target/s390x: implement UNPACK ASCII Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 26/30] target/s390x: implement UNPACK UNICODE Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 27/30] target/s390x: implement TEST DECIMAL Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 28/30] target/s390x: implement TRANSLATE ONE/TWO TO ONE/TWO Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 29/30] target/s390x: mark ETF2 and ETF2-ENH facilities as available Aurelien Jarno
2017-05-31 22:01 ` [Qemu-devel] [PATCH v3 30/30] target/s390x: update maximum TCG model to z800 Aurelien Jarno
2017-06-01  8:38   ` David Hildenbrand
2017-06-01  9:04     ` David Hildenbrand
2017-06-01 19:17       ` Aurelien Jarno
2017-06-02  8:09         ` Thomas Huth
2017-06-02 11:30           ` David Hildenbrand
2017-06-02 14:04             ` Aurelien Jarno
2017-06-02 14:27               ` David Hildenbrand
2017-06-02 14:34               ` Thomas Huth
2017-06-02 14:41                 ` David Hildenbrand
2017-06-01 19:17     ` Aurelien Jarno
2017-06-01 19:56       ` David Hildenbrand
2017-06-02 13:40         ` Aurelien Jarno

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.