summaryrefslogtreecommitdiffstats
path: root/target-s390x/helper.h
Commit message (Collapse)AuthorAgeFilesLines
* target-s390: Use noreturn for exception and load_pswRichard Henderson2013-01-051-2/+2
| | | | | | Both always exit the cpu loop. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Use TCG_CALL_NO_WG for misc helpersRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Use TCG_CALL_NO_WG for integer helpersRichard Henderson2013-01-051-4/+4
| | | | | | | 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>
* target-s390: Use TCG_CALL_NO_WG for floating-point helpersRichard Henderson2013-01-051-39/+39
| | | | | | | None of them read or write tcg registers, but most can raise fp exceptions. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Use TCG_CALL_NO_WG for memory helpersRichard Henderson2013-01-051-15/+15
| | | | | | | Those that do not read or write tcg registers, but can raise exceptions via memory faults. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Perform COMPARE AND SWAP inlineRichard Henderson2013-01-051-3/+0
| | | | | | | Still no proper solution for CONFIG_USER_ONLY, but the system version is significantly better. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Implement LOAD/SET FP AND SIGNALRichard Henderson2013-01-051-0/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Implement POPCNTRichard Henderson2013-01-051-0/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Implement CONVERT FROM LOGICALRichard Henderson2013-01-051-0/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Implement CONVERT TO LOGICALRichard Henderson2013-01-051-0/+6
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SERVCRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STSIRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STCKERichard Henderson2013-01-051-1/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CSPRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STURARichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert RRBERichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SSKERichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SPT, STPTRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SCKC, STCKCRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STCKRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SCKRichard Henderson2013-01-051-1/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STIDPRichard Henderson2013-01-051-1/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert SRSTRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CLST, MVSTRichard Henderson2013-01-051-2/+2
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CKSMRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert IPMRichard Henderson2013-01-051-1/+0
| | | | | | Note that the previous placement of the PM field was incorrect. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LFPC, SFPCRichard Henderson2013-01-051-0/+1
| | | | | | Note that we were failing to set the rounding mode in fpu_status. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FLOGRRichard Henderson2013-01-051-1/+1
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CONVERT FROM FIXEDRichard Henderson2013-01-051-6/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert CONVERT TO FIXEDRichard Henderson2013-01-051-6/+6
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LOAD ZERORichard Henderson2013-01-051-3/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP SQUARE ROOTRichard Henderson2013-01-051-1/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP LOAD COMPLIMENT, NEGATIVE, POSITIVERichard Henderson2013-01-051-6/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert TEST DATA CLASSRichard Henderson2013-01-051-3/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert MULTIPLY AND ADD, SUBTRACTRichard Henderson2013-01-051-4/+4
| | | | | | Use the new float*_muladd interface to softfloat. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP MULTIPLYRichard Henderson2013-01-051-5/+5
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP DIVIDERichard Henderson2013-01-051-5/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP SUBTRACTRichard Henderson2013-01-051-5/+3
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert FP ADD, COMPARE, LOAD TEST/ROUND/LENGTHENEDRichard Henderson2013-01-051-22/+15
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert STCMRichard Henderson2013-01-051-2/+0
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert COMPARE AND SWAPRichard Henderson2013-01-051-2/+2
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert LRARichard Henderson2013-01-051-1/+1
| | | | | | | Note that truncating the store to r1 based on PSW_MASK_64 is incorrect. We always modify the entire register. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert INSERT CHARACTERS UNDER MASKRichard Henderson2013-01-051-1/+0
| | | | | | | Change the CC handling to be more like TEST UNDER MASK, with val & mask. This lets us handle ICMH much more like ICM. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert DIVIDERichard Henderson2013-01-051-1/+4
| | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROWRichard Henderson2013-01-051-3/+0
| | | | | | | | | I'm resonably certain that the carry/borrow-out condition for both helpers was incorrect, failing to take into account the carry-in. Adding the new CC_OP codes also allows removing the awkward interface we used for the slb helpers. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Convert 64-bit MULTIPLY LOGICALRichard Henderson2013-01-051-1/+1
| | | | | | | | | | | Use a new "retxl" member of CPUS290XState to return the "eXtra Low" part of a 128-bit value. That said, this will get used when two independent values need returning (e.g. quotient+remainder) as well. At the same time, shuffle the elements of CPUS390XState to get this new space from existing padding in the structure. Signed-off-by: Richard Henderson <rth@twiddle.net>
* target-s390: Register helpersRichard Henderson2013-01-051-17/+4
| | | | | | Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@twiddle.net>
* exec: move include files to include/exec/Paolo Bonzini2012-12-191-2/+2
| | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* target-s390x: rename helper flagsAurelien Jarno2012-10-281-38/+38
| | | | | | | | | Rename helper flags to the new ones. This is purely a mechanical change, it's possible to use better flags by looking at the helpers. Cc: Alexander Graf <agraf@suse.de> Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
* target-s390x: switch to AREG0 free modeBlue Swirl2012-09-101-39/+39
| | | | | | | | | | Add an explicit CPUState parameter instead of relying on AREG0. Remove temporary wrappers and switch to AREG0 free mode. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> [agraf: fix conflicts] Signed-off-by: Alexander Graf <agraf@suse.de>
OpenPOWER on IntegriCloud