History | View | Annotate | Download (129 kB)
tcg: Move helper registration into tcg_context_init
No longer needs to be done on a per-target basis.
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg: Change tcg_gen_exit_tb argument to uintptr_t
And update all users.
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>Signed-off-by: Richard Henderson <rth@twiddle.net>
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
Prepares for changing cpu_single_step() argument to CPUState.
Acked-by: Michael Walle <michael@walle.cc> (for lm32)Signed-off-by: Andreas Färber <afaerber@suse.de>
target-s390x: Change gen_intermediate_code_internal() argument to S390CPU
Also use bool type while at it.
Prepares for moving singlestep_enabled field to CPUState.
Reviewed-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Andreas Färber <afaerber@suse.de>
cpu: Turn cpu_dump_{state,statistics}() into CPUState hooks
Make cpustats monitor command available unconditionally.
Prepares for changing kvm_handle_internal_error() and kvm_cpu_exec()arguments to CPUState.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Trivial grammar and spelling fixes
similiar -> similarrecieve -> receivetransfered -> transferredpreperation -> preparation
Most changes are in comments, one modifies a parameter name in a functionprototype.
The spelling fixes were made using codespell....
target-s390: Fix SRNMT
Fallthough into abort = oops.
Cc: qemu-trivial@nongnu.orgCc: Alexander Graf <agraf@suse.de>Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Fix typos and misspellings
Fix various typos and misspellings. The bulk of these were found withcodespell.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
gen-icount.h: Rename gen_icount_start/end to gen_tb_start/end
The gen_icount_start/end functions are now somewhat misnamed since theyare useful for generic "start/end of TB" code, used for more than justicount. Rename them to gen_tb_start/end.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
target-s390x: Use mulu2 for mlgr insn
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-s390: Optimize ADDC/SUBB
Giving the proper mask to disas_jcc allows us to generate an inlinecomparison generating the carry/borrow with setcond.
In the very worst case, when we must use the external helper to computea value for CC, we generate (cc > 1) instead of (cc >> 1), which is only...
target-s390: Optimize get_address
Don't load the displacement into a register first, add it secondso that tcg_gen_addi_i64 can eliminate zeros. Don't mask thedisplacement first so that we don't turn small negative numbersinto large positive numbers....
target-s390: Perform COMPARE AND SWAP inline
Still no proper solution for CONFIG_USER_ONLY, but the systemversion is significantly better.
target-s390: Implement POPCNT
target-s390: Implement CPSDR
target-s390: Check insn operand specifications
Removes all the fixmes for even register numbers, etc.
target-s390: Implement SET ROUNDING MODE
target-s390: Implement LOAD/SET FP AND SIGNAL
target-s390: Optimize XC
Notice XC with same address and convert that to store of zero.
target-s390: Optmize emitting discards
While they aren't expensive, they aren't free to process. When weknow that the three cc helper variables are dead, don't kill them.
target-s390: Tidy comparisons
After full conversion, we can audit the uses of LTGT cc opsand see that none of the instructions can ever set CC=3.Thus we can extend the table to treat that bit as ignored.
This fixes a regression wrt the pre-conversion translation...
target-s390: Optimize ADDU/SUBU CC testing
We can easily generate some masks for logical add/subtract inline.
target-s390: Implement BRANCH ON INDEX
target-s390: Tidy s->op_cc handling
There's no need to force computation of the true cc_op when taking anexception or single stepping. In either case we'll enter the next TBwith s->cc_op = DYNAMIC and recompute anyway. Just make sure thats->cc_op is stored back to env->cc_op as needed....
target-s390: Implement COMPARE AND BRANCH
target-s390: Implement RISBG
target-s390: Implement R[NOX]SBG
target-s390: Implement COMPARE AND TRAP
target-s390: Implement LOAD ON CONDITION
target-s390: Implement STORE ON CONDITION
target-s390: Implement CONVERT TO LOGICAL
target-s390: Implement CONVERT FROM LOGICAL
target-s390: Convert SPX, STPX
target-s390: Convert STAP
target-s390: Convert IPTE
target-s390: Convert ISKE
target-s390: Convert SSKE
target-s390: Convert RRBE
target-s390: Convert subchannel instructions
While we're at it, list all of the chapter 14 subchannel insns.Which is easy since all merely need indicate non-operation.
target-s390: Convert STURA
target-s390: Convert CSP
target-s390: Convert STCKE
target-s390: Convert SACF
target-s390: Convert STSI
target-s390: Convert STFL
target-s390: Convert LPSWE
target-s390: Convert SERVC
target-s390: Delete dead code from old translator
The use of inline restricts detection of static functions that areno longer used. Limit the use of inline to those functions thatare conditionally used based on CONFIG_USER_ONLY.
target-s390: Convert IPM
Note that the previous placement of the PM field was incorrect.
target-s390: Convert CKSM
target-s390: Convert EAR, SAR
target-s390: Convert MVPG
target-s390: Convert CLST, MVST
target-s390: Convert SRST
target-s390: Convert STIDP
target-s390: Convert SCK
target-s390: Convert STCK
target-s390: Convert SCKC, STCKC
target-s390: Convert SPT, STPT
target-s390: Convert SPKA
target-s390: Convert PTLB
target-s390: Convert FP SUBTRACT
target-s390: Convert FP DIVIDE
target-s390: Convert FP MULTIPLY
target-s390: Convert MULTIPLY AND ADD, SUBTRACT
Use the new float*_muladd interface to softfloat.
target-s390: Convert TEST DATA CLASS
target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVE
target-s390: Convert FP SQUARE ROOT
target-s390: Convert LOAD ZERO
target-s390: Convert CONVERT TO FIXED
target-s390: Convert CONVERT FROM FIXED
target-s390: Convert FLOGR
target-s390: Convert LFPC, SFPC
Note that we were failing to set the rounding mode in fpu_status.
target-s390: Convert EFPC, STFPC
target-s390: Convert LCTL, STCTL
target-s390: Convert COMPARE AND SWAP
target-s390: Convert CLM
target-s390: Convert STCM
target-s390: Convert TPROT
target-s390: Convert LOAD CONTROL, part 2
target-s390: Convert LOAD REVERSED
target-s390: Convert STORE REVERSED
target-s390: Convert LLGT
target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENED
target-s390: Convert LOAD, STORE MULTIPLE
target-s390: Convert MOVE
target-s390: Convert NI, XI, OI
target-s390: Convert STNSM, STOSM
target-s390: Convert LAM, STAM
target-s390: Convert CLCLE, MVCLE
target-s390: Convert MVC
The code that was in gen_op_mvc was a bit confused wrt what lengthsit wanted to handle. I also disbelieve that the inline memset isworthwhile.
target-s390: Convert NC, XC, OC, TR, UNPK
target-s390: Convert CLC
target-s390: Convert MVCP, MVCS
target-s390: Convert LRA
Note that truncating the store to r1 based on PSW_MASK_64is incorrect. We always modify the entire register.
target-s390: Convert SIGP
target-s390: Convert LOAD PSW
target-s390: Convert DIAGNOSE
target-s390: Convert SHIFT, ROTATE SINGLE
Note that we were missing the 32-bit SLA.
target-s390: Convert SHIFT DOUBLE