summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | target-s390: Convert MOVE LONGRichard Henderson2013-01-052-11/+15
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert SUPERVISOR CALLRichard Henderson2013-01-052-15/+22
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert SET ADDRESSING MODERichard Henderson2013-01-052-6/+7
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert TEST UNDER MASKRichard Henderson2013-01-053-80/+27
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Send signals for divideRichard Henderson2013-01-053-6/+67
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert DIVIDERichard Henderson2013-01-054-178/+103
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert BRANCH ON COUNTRichard Henderson2013-01-052-119/+51
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert BRANCH ON CONDITIONRichard Henderson2013-01-052-95/+142
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert BRANCH AND SAVERichard Henderson2013-01-052-46/+63
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert ADD LOGICAL CARRY and SUBTRACT LOGICAL BORROWRichard Henderson2013-01-056-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>
| * | | target-s390: Convert STORERichard Henderson2013-01-052-43/+40
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert AND, OR, XOR, INSERT IMMEDIATERichard Henderson2013-01-052-180/+82
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD COMPLIMENT, POSITIVE, NEGATIVERichard Henderson2013-01-052-94/+60
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD LOGICAL IMMEDIATERichard Henderson2013-01-052-30/+19
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD AND TESTRichard Henderson2013-01-052-27/+17
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD (LOGICAL) BYTE, CHARACTER, HALFWORDRichard Henderson2013-01-052-109/+78
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD ADDRESSRichard Henderson2013-01-052-14/+5
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert LOAD, LOAD LOGICALRichard Henderson2013-01-052-60/+60
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert COMPARE, COMPARE LOGICALRichard Henderson2013-01-052-186/+129
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert AND, OR, XORRichard Henderson2013-01-052-105/+56
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert 64-bit MULTIPLY LOGICALRichard Henderson2013-01-055-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>
| * | | target-s390: Convert 32-bit MULTIPLY, MULTIPLY LOGICALRichard Henderson2013-01-052-57/+32
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert MULTIPLY HALFWORD, SINGLERichard Henderson2013-01-052-103/+36
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Implement ADD LOGICAL WITH SIGNED IMMEDIATERichard Henderson2013-01-052-0/+12
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Implement SUBTRACT HALFWORDRichard Henderson2013-01-051-0/+3
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Convert ADD HALFWORDRichard Henderson2013-01-052-36/+14
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Reorg exception handlingRichard Henderson2013-01-057-260/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | target-s390: Split out disas_jccRichard Henderson2013-01-051-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>
| * | | target-s390: Add format based disassassmbly infrastructureRichard Henderson2013-01-053-365/+859
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Fix PSW_MASK handlingRichard Henderson2013-01-052-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>
| * | | target-s390: Tidy unconditional BRCLRichard Henderson2013-01-051-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>
| * | | target-s390: Fix BCRRichard Henderson2013-01-051-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>
| * | | target-s390: Fix SACF exitRichard Henderson2013-01-051-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>
| * | | target-s390: Register helpersRichard Henderson2013-01-052-17/+8
| | | | | | | | | | | | | | | | | | | | | | | | Which highlights a lot of cc helpers that no longer exist. Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Use TCG registers for FPRRichard Henderson2013-01-051-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>
| * | | target-s390: Add missing temp_free in gen_op_calc_ccRichard Henderson2013-01-051-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Fix gdbstubRichard Henderson2013-01-052-103/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | | target-s390: Fix disassembly of cpsdrRichard Henderson2013-01-051-1/+3
| | | | | | | | | | | | | | | | Signed-off-by: Richard Henderson <rth@twiddle.net>
| * | | target-s390: Disassemble more z10 and z196 opcodesRichard Henderson2013-01-051-18/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix disassembly for COMPARE AND BRANCH. The table must be sorted by primary opcode, and several were out of place. Signed-off-by: Richard Henderson <rth@twiddle.net>
* | | | hw/pc.c: add ULL suffix in ioport80_read and ioportF0_read return valueJulien Grall2013-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit c02e1eac887b1b0aee7361b1fcf889e7d47fed9d broke the compilation for i386. ULL need to be specify for uint64_t value. Signed-off-by: Julien Grall <julien.grall@citrix.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | tcg-i386: use LEA for 3-operand 64-bit additionPaolo Bonzini2013-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | pixman: fix warningGerd Hoffmann2013-01-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cc: afaerber@suse.de Cc: agraf@suse.de Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | gcc: rename CONFIG_PRAGMA_DISABLE_UNUSED_BUT_SET to ↵Gerd Hoffmann2013-01-122-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | optionrom: build with discrete CPP and AS stepsBlue Swirl2013-01-122-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Build option ROM .S files with separate preprocessor and assembler steps because the C compiler could be unsuitable. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | slirp: remove unused field ttBlue Swirl2013-01-121-1/+0
| | | | | | | | | | | | | | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | user: Consider symbolic links as possible directoriesRichard Henderson2013-01-121-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number of syscalls performed during user emulation startup, but failed to consider the use of symbolic links in creating directory structures. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | alpha-linux-user: Fix sigactionRichard Henderson2013-01-122-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Unconditional bswap replaced by __get_user/__put_user. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | linux-user: Rewrite __get_user/__put_user with __builtin_choose_exprRichard Henderson2013-01-121-30/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous formuation with multiple assignments to __typeof(*hptr) falls down when hptr is qualified const. E.g. with const struct S *p, p->f is also qualified const. With this formulation, there's no assignment to any local variable. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | bswap: Rewrite cpu_to_<endian><type>u with {ld,st}<type>_<endian>_pRichard Henderson2013-01-121-94/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've now optimized the ld/st versions; reuse that for the "legacy" versions. Always use inlines so that we get the type checking that we expect. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | | | bswap: Rewrite all ld<type>_<endian>_p functionsRichard Henderson2013-01-121-270/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new host endian unaligned access functions instead of open coding byte-by-byte references. Remove assembly special cases for i386 and ppc -- we've now exposed the operation to the compiler sufficiently for these to be optimized automatically. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
OpenPOWER on IntegriCloud