summaryrefslogtreecommitdiff
path: root/target-s390x
AgeCommit message (Collapse)AuthorFilesLines
2013-01-05target-s390: Convert MOVE LONGRichard Henderson2-11/+15
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert SUPERVISOR CALLRichard Henderson2-15/+22
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert SET ADDRESSING MODERichard Henderson2-6/+7
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert TEST UNDER MASKRichard Henderson3-80/+27
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Send signals for divideRichard Henderson3-6/+67
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert DIVIDERichard Henderson4-178/+103
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert BRANCH ON COUNTRichard Henderson2-119/+51
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert BRANCH ON CONDITIONRichard Henderson2-95/+142
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert BRANCH AND SAVERichard Henderson2-46/+63
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROWRichard Henderson6-206/+157
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>
2013-01-05target-s390: Convert STORERichard Henderson2-43/+40
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert AND, OR, XOR, INSERT IMMEDIATERichard Henderson2-180/+82
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVERichard Henderson2-94/+60
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD LOGICAL IMMEDIATERichard Henderson2-30/+19
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD AND TESTRichard Henderson2-27/+17
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORDRichard Henderson2-109/+78
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD ADDRESSRichard Henderson2-14/+5
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert LOAD, LOAD LOGICALRichard Henderson2-60/+60
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert COMPARE, COMPARE LOGICALRichard Henderson2-186/+129
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert AND, OR, XORRichard Henderson2-105/+56
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert 64-bit MULTIPLY LOGICALRichard Henderson5-26/+44
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>
2013-01-05target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICALRichard Henderson2-57/+32
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert MULTIPLY HALFWORD, SINGLERichard Henderson2-103/+36
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATERichard Henderson2-0/+12
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Implement SUBTRACT HALFWORDRichard Henderson1-0/+3
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Convert ADD HALFWORDRichard Henderson2-36/+14
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Reorg exception handlingRichard Henderson5-211/+148
Make the user path more like the system path. Prepare for more kinds of runtime exceptions. Rename ILC to ILEN to make it clear that we want to pass around a full instruction length, rather than a "code" that happens to be stored one bit left in a larger field. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Split out disas_jccRichard Henderson1-279/+215
Lots of duplicated code replaced with a couple of tables. We no longer attempt to manually invert the logic operation: the comments now match the code. In the fully general test, constant propagate (1 << (3 - cc)) into (8 >> cc). The new function will be usable by non-branch insns as well. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Add format based disassassmbly infrastructureRichard Henderson3-365/+859
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Fix PSW_MASK handlingRichard Henderson2-4/+7
We were treating psw.mask as the 32-bit quantity it is in ESA mode. In particular, the CC field was at the wrong place. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Tidy unconditional BRCLRichard Henderson1-0/+5
Yes, we're about to rewrite all of this, but having this unconditional jump recompute cc_op is a large source of "false diff errors" when trying to examine before and after dumps. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Fix BCRRichard Henderson1-0/+2
There were are two exit paths for which we forgot to copy s->cc_op back to the tcg register. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Fix SACF exitRichard Henderson1-2/+2
DISAS_EXCP is exit via exception; we wanted DISAS_JUMP. This matters when we start cleaning up the TB exit paths. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Register helpersRichard Henderson2-17/+8
Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Use TCG registers for FPRRichard Henderson1-28/+40
At the same time, tidy other usages of tcg_gen_deposit_i64. In some cases we can "type cast" rather than extend, and in others we can allow tcg_gen_deposit_i64 itself to optimize the HOST_LONG_BITS==32 case. Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Add missing temp_free in gen_op_calc_ccRichard Henderson1-0/+1
Signed-off-by: Richard Henderson <rth@twiddle.net>
2013-01-05target-s390: Fix gdbstubRichard Henderson1-73/+0
The real gdb protocol doesn't split out pc or cc as real registers. Those are pseudos that are extracted as needed from the PSW. Don't modify env->cc_op during read -- that way lies heisenbugs. Fill in the XXX for the fp registers. Remove duplicated defines in cpu.h. Signed-off-by: Richard Henderson <rth@twiddle.net>
2012-12-23Merge branch 'master' of git://git.qemu.org/qemu into qom-cpuAndreas Färber12-32/+32
Adapt header include paths. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-12-19cpu: Move kvm_run into CPUStateAndreas Färber1-36/+41
Pass CPUState / {X86,S390}CPU to helper functions. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-12-19cpu: Move kvm_state field into CPUStateAndreas Färber1-3/+2
Adapt some functions to take CPUState / {PowerPC,S390}CPU argument. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-12-19kvm: Pass CPUState to kvm_vcpu_ioctl()Andreas Färber4-37/+42
Adapt helper functions to pass X86CPU / PowerPCCPU / S390CPU. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-12-19kvm: Pass CPUState to kvm_arch_*Andreas Färber1-13/+25
Move kvm_vcpu_dirty field into CPUState to simplify things and change its type to bool while at it. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-12-19fpu: move public header file to include/fpuPaolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-19softmmu: move include files to include/sysemu/Paolo Bonzini4-7/+7
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-19misc: move include files to include/qemu/Paolo Bonzini6-7/+7
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-19qom: move include files to include/qom/Paolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-19exec: move include files to include/exec/Paolo Bonzini7-15/+15
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-19build: kill libdis, move disassemblers to disas/Paolo Bonzini1-1/+1
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2012-12-16exec: refactor cpu_restore_stateBlue Swirl1-7/+1
Refactor common code around calls to cpu_restore_state(). tb_find_pc() has now no external users, make it static. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2012-12-08TCG: Use gen_opc_instr_start from context instead of global variable.Evgeny Voevodin1-3/+3
Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>