Aurelien Jarno
8df7eef305
target-s390x: wire up DIAG IPL in TCG mode
...
DIAG IPL is already implemented for KVM, but not wired from TCG. For
that change the format of the instruction so that we can get R1 and R3
numbers in addition to the function code.
The diag function can change plenty of things, including CC, so we
should enter with a static CC. Also it doesn't set the value of general
register 2 to 0 as in the current code. We also need to exit the CPU
loop after a reset, which means a new PSW.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-17 12:40:50 +02:00
Aurelien Jarno
3f4de6756c
target-s390x: implement TRANSLATE EXTENDED instruction
...
It is part of the basic zArchitecture instructions.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:59 +02:00
Aurelien Jarno
54f0077509
target-s390x: implement TRANSLATE AND TEST instruction
...
It is part of the basic zArchitecture instructions. Allow it to be call
from EXECUTE.
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:59 +02:00
Aurelien Jarno
ed0bcecec1
target-s390x: implement LOAD FP INTEGER instructions
...
This is needed to pass the gcc.c-torture/execute/ieee/20010114-2.c test
in the gcc testsuite.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:59 +02:00
Aurelien Jarno
a91a1b20a2
target-s390x: remove unused helpers
...
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:57 +02:00
Aurelien Jarno
d30107814c
target-s390x: optimize (negative-) abs computation
...
Now that movcond exists, it's easy to write (negative-) absolute value
using TCG code instead of an helper.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
2015-06-05 01:37:57 +02:00
Richard Henderson
9c3fd85b14
target-s390: Implement LURA, LURAG, STURG
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2015-02-03 12:06:37 -08:00
Richard Henderson
2ef6175aa7
tcg: Invert the inclusion of helper.h
...
Rather than include helper.h with N values of GEN_HELPER, include a
secondary file that sets up the macros to include helper.h. This
minimizes the files that must be rebuilt when changing the macros
for file N.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <rth@twiddle.net>
2014-05-28 09:33:54 -07:00
Richard Henderson
dc46d1c68a
target-s390x: Use mulu2 for mlgr insn
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2013-02-23 17:25:29 +00:00
Richard Henderson
26cc0a3fd1
target-s390: Use noreturn for exception and load_psw
...
Both always exit the cpu loop.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
893e1660d5
target-s390: Use TCG_CALL_NO_WG for misc helpers
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
c20fec4055
target-s390: Use TCG_CALL_NO_WG for integer helpers
...
The division routines do not read or write tcg registers,
but can raise fixed-point divide exceptions.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
c482ea94ea
target-s390: Use TCG_CALL_NO_WG for floating-point helpers
...
None of them read or write tcg registers, but most can
raise fp exceptions.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
d918a65c69
target-s390: Use TCG_CALL_NO_WG for memory helpers
...
Those that do not read or write tcg registers, but can
raise exceptions via memory faults.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
b7886de3f3
target-s390: Perform COMPARE AND SWAP inline
...
Still no proper solution for CONFIG_USER_ONLY, but the system
version is significantly better.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:46 -08:00
Richard Henderson
411edc22cb
target-s390: Implement LOAD/SET FP AND SIGNAL
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:45 -08:00
Richard Henderson
99b4f24b3e
target-s390: Implement POPCNT
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:45 -08:00
Richard Henderson
2112bf1bfb
target-s390: Implement CONVERT FROM LOGICAL
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:44 -08:00
Richard Henderson
6ac1b45f9b
target-s390: Implement CONVERT TO LOGICAL
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:44 -08:00
Richard Henderson
dc458df91d
target-s390: Convert SERVC
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
d14b3e09b2
target-s390: Convert STSI
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
39a5003c89
target-s390: Convert STCKE
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
3d596f4912
target-s390: Convert CSP
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
204504e2fa
target-s390: Convert STURA
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
5cc69c54f6
target-s390: Convert RRBE
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
2bbde27f25
target-s390: Convert SSKE
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:43 -08:00
Richard Henderson
c4f0a863c3
target-s390: Convert SPT, STPT
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
dd3eb7b54f
target-s390: Convert SCKC, STCKC
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
434c91a5f4
target-s390: Convert STCK
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
3528979951
target-s390: Convert SCK
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
71bd666963
target-s390: Convert STIDP
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
4600c994d9
target-s390: Convert SRST
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
aa31bf6031
target-s390: Convert CLST, MVST
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
374724f91a
target-s390: Convert CKSM
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
6e2704e74d
target-s390: Convert IPM
...
Note that the previous placement of the PM field was incorrect.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:42 -08:00
Richard Henderson
8379bfdbca
target-s390: Convert LFPC, SFPC
...
Note that we were failing to set the rounding mode in fpu_status.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
102bf2c635
target-s390: Convert FLOGR
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
683bb9a888
target-s390: Convert CONVERT FROM FIXED
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
68c8bd93cc
target-s390: Convert CONVERT TO FIXED
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
24db8412ec
target-s390: Convert LOAD ZERO
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
16d7b2a43b
target-s390: Convert FP SQUARE ROOT
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
5d7fd045ca
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
31aa97d1ed
target-s390: Convert TEST DATA CLASS
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
722bfec331
target-s390: Convert MULTIPLY AND ADD, SUBTRACT
...
Use the new float*_muladd interface to softfloat.
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
83b00736f3
target-s390: Convert FP MULTIPLY
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
f08a5c311d
target-s390: Convert FP DIVIDE
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
1a800a2dce
target-s390: Convert FP SUBTRACT
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:41 -08:00
Richard Henderson
587626f8da
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:40 -08:00
Richard Henderson
2ae6805906
target-s390: Convert STCM
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:40 -08:00
Richard Henderson
f3de39c485
target-s390: Convert COMPARE AND SWAP
...
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05 12:18:40 -08:00