| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Which highlights a lot of cc helpers that no longer exist.
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Richard Henderson <rth@twiddle.net>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Cc: afaerber@suse.de
Cc: agraf@suse.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
CONFIG_PRAGMA_DIAGNOSTIC_AVAILABLE
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Unconditional bswap replaced by __get_user/__put_user.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|