qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 99ab4d: accel/tcg: Test CPUJumpCache in tb_jm


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 99ab4d: accel/tcg: Test CPUJumpCache in tb_jmp_cache_clear...
Date: Sun, 05 Feb 2023 16:48:50 +0000 (UTC)

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 99ab4d500af638ba3ebb20e8aa89d72201b70860
      
https://github.com/qemu/qemu/commit/99ab4d500af638ba3ebb20e8aa89d72201b70860
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M accel/tcg/cputlb.c

  Log Message:
  -----------
  accel/tcg: Test CPUJumpCache in tb_jmp_cache_clear_page

After commit 4e4fa6c12d ("accel/tcg: Complete cpu initialization
before registration"), it looks the CPUJumpCache pointer can be NULL.
This causes a SIGSEV when running debug-wp-migration kvm unit test.

At the first place it should be clarified why this TCG code is called
with KVM acceleration. This may hide another bug.

Fixes: 4e4fa6c12d ("accel/tcg: Complete cpu initialization before registration")
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Message-Id: <20230203171510.2867451-1-eric.auger@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e1e646524437072e466313b04a2f8326dd7b8e77
      
https://github.com/qemu/qemu/commit/e1e646524437072e466313b04a2f8326dd7b8e77
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Init temp_subindex in liveness_pass_2

Correctly handle large types while lowering.

Fixes: fac87bd2a49b ("tcg: Add temp_subindex to TCGTemp")
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ecbea3ec1ce5f4499ef6acbc696ec5d6a1c69165
      
https://github.com/qemu/qemu/commit/ecbea3ec1ce5f4499ef6acbc696ec5d6a1c69165
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M include/exec/helper-head.h
    M include/tcg/tcg.h

  Log Message:
  -----------
  tcg: Define TCG_TYPE_I128 and related helper macros

Begin staging in support for TCGv_i128 with Int128.
Define the type enumerator, the typedef, and the
helper-head.h macros.

This cannot yet be used, because you can't allocate
temporaries of this new type.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 466d37596010845eb61fbb8b5cd7daa407286342
      
https://github.com/qemu/qemu/commit/466d37596010845eb61fbb8b5cd7daa407286342
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Handle dh_typecode_i128 with TCG_CALL_{RET,ARG}_NORMAL

Many hosts pass and return 128-bit quantities like sequential
64-bit quantities.  Treat this just like we currently break
down 64-bit quantities for a 32-bit host.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 273eb50c0fed6696d4600d9cf26f1b2dfcccab0c
      
https://github.com/qemu/qemu/commit/273eb50c0fed6696d4600d9cf26f1b2dfcccab0c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Allocate objects contiguously in temp_allocate_frame

When allocating a temp to the stack frame, consider the
base type and allocate all parts at once.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6a6d772e30d62e209587ef341df243e9789f5a9f
      
https://github.com/qemu/qemu/commit/6a6d772e30d62e209587ef341df243e9789f5a9f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Introduce tcg_out_addi_ptr

Implement the function for arm, i386, and s390x, which will use it.
Add stubs for all other backends.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 313bdea84d2912fdbb139e746bd9346b3d85ebdc
      
https://github.com/qemu/qemu/commit/313bdea84d2912fdbb139e746bd9346b3d85ebdc
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg-internal.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add TCG_CALL_{RET,ARG}_BY_REF

These will be used by some hosts, both 32 and 64-bit, to pass and
return i128.  Not yet used, because allocation is not yet enabled.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5e3d0c199f4edf4ecdf8100464da441c60ce36e3
      
https://github.com/qemu/qemu/commit/5e3d0c199f4edf4ecdf8100464da441c60ce36e3
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc
    M tcg/arm/tcg-target.c.inc
    M tcg/i386/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/mips/tcg-target.c.inc
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/s390x/tcg-target.c.inc
    M tcg/sparc64/tcg-target.c.inc
    M tcg/tcg.c
    M tcg/tci/tcg-target.c.inc

  Log Message:
  -----------
  tcg: Introduce tcg_target_call_oarg_reg

Replace the flat array tcg_target_call_oarg_regs[] with
a function call including the TCGCallReturnKind.

Extend the set of registers for ARM to r0-r3 to match the ABI:
https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#result-return

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c6556aa0c8de8718813fea0ca61232632bf33c42
      
https://github.com/qemu/qemu/commit/c6556aa0c8de8718813fea0ca61232632bf33c42
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg-internal.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add TCG_CALL_RET_BY_VEC

This will be used by _WIN64 to return i128.  Not yet used,
because allocation is not yet enabled.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b959822c94e6d32b36fad038e79c14f841e585c1
      
https://github.com/qemu/qemu/commit/b959822c94e6d32b36fad038e79c14f841e585c1
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M include/qemu/atomic128.h
    M include/qemu/int128.h
    M util/int128.c

  Log Message:
  -----------
  include/qemu/int128: Use Int128 structure for TCI

We are about to allow passing Int128 to/from tcg helper functions,
but libffi doesn't support __int128_t, so use the structure.

In order for atomic128.h to continue working, we must provide
a mechanism to frob between real __int128_t and the structure.
Provide a new union, Int128Alias, for this.  We cannot modify
Int128 itself, as any changed alignment would also break libffi.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c4f4a00ac7d947c9b100e3cb62755a9a157df1fa
      
https://github.com/qemu/qemu/commit/c4f4a00ac7d947c9b100e3cb62755a9a157df1fa
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h

  Log Message:
  -----------
  tcg/i386: Add TCG_TARGET_CALL_{RET,ARG}_I128

Fill in the parameters for the host ABI for Int128.
Adjust tcg_target_call_oarg_reg for _WIN64, and
tcg_out_call for i386 sysv.  Allow TCG_TYPE_V128
stores without AVX enabled.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 896c76e6ba5d9a3444fb8528fdc407747ecc82f2
      
https://github.com/qemu/qemu/commit/896c76e6ba5d9a3444fb8528fdc407747ecc82f2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tci.c

  Log Message:
  -----------
  tcg/tci: Fix big-endian return register ordering

We expect the backend to require register pairs in
host-endian ordering, thus for big-endian the first
register of a pair contains the high part.
We were forcing R0 to contain the low part for calls.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: e9709e17ac88f16c60004c4160c9a131d36ed564
      
https://github.com/qemu/qemu/commit/e9709e17ac88f16c60004c4160c9a131d36ed564
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/tcg.c
    M tcg/tci.c
    M tcg/tci/tcg-target.c.inc
    M tcg/tci/tcg-target.h

  Log Message:
  -----------
  tcg/tci: Add TCG_TARGET_CALL_{RET,ARG}_I128

Fill in the parameters for libffi for Int128.
Adjust the interpreter to allow for 16-byte return values.
Adjust tcg_out_call to record the return value length.

Call parameters are no longer all the same size, so we
cannot reuse the same call_slots array for every function.
Compute it each time now, but only fill in slots required
for the call we're about to make.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5427a9a76041029730775292995e87c3edd06515
      
https://github.com/qemu/qemu/commit/5427a9a76041029730775292995e87c3edd06515
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.h
    M tcg/loongarch64/tcg-target.h
    M tcg/mips/tcg-target.h
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.h
    M tcg/s390x/tcg-target.h
    M tcg/sparc64/tcg-target.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add TCG_TARGET_CALL_{RET,ARG}_I128

Fill in the parameters for the host ABI for Int128 for
those backends which require no extra modification.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 43eef72f41093ae4a94ffddc94aeef80a2fb5c69
      
https://github.com/qemu/qemu/commit/43eef72f41093ae4a94ffddc94aeef80a2fb5c69
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M include/tcg/tcg.h
    M tcg/tcg.c

  Log Message:
  -----------
  tcg: Add temp allocation for TCGv_i128

This enables allocation of i128.  The type is not yet
usable, as we have not yet added data movement ops.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4771e71c28eb0cece2a17a2d891bbd724bdc158d
      
https://github.com/qemu/qemu/commit/4771e71c28eb0cece2a17a2d891bbd724bdc158d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M include/tcg/tcg-op.h
    M tcg/tcg-internal.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg: Add basic data movement for TCGv_i128

Add code generation functions for data movement between
TCGv_i128 (mov) and to/from TCGv_i64 (concat, extract).

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cb48f3654e290ee5d7cbf1fb31888463fa2a180c
      
https://github.com/qemu/qemu/commit/cb48f3654e290ee5d7cbf1fb31888463fa2a180c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M accel/tcg/cputlb.c
    M accel/tcg/user-exec.c
    M include/exec/cpu_ldst.h
    M include/tcg/tcg-op.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg: Add guest load/store primitives for TCGv_i128

These are not yet considering atomicity of the 16-byte value;
this is a direct replacement for the current target code which
uses a pair of 8-byte operations.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 123ae5683c9e7815857304fd2f21664621c90a13
      
https://github.com/qemu/qemu/commit/123ae5683c9e7815857304fd2f21664621c90a13
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M accel/tcg/atomic_common.c.inc
    M accel/tcg/tcg-runtime.h
    M include/tcg/tcg-op.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg: Add tcg_gen_{non}atomic_cmpxchg_i128

This will allow targets to avoid rolling their own.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: d1beee4da1dbbc0ce1bc42b38752366eed4babec
      
https://github.com/qemu/qemu/commit/d1beee4da1dbbc0ce1bc42b38752366eed4babec
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M include/tcg/tcg-op.h
    M tcg/tcg-op.c

  Log Message:
  -----------
  tcg: Split out tcg_gen_nonatomic_cmpxchg_i{32,64}

Normally this is automatically handled by the CF_PARALLEL checks
with in tcg_gen_atomic_cmpxchg_i{32,64}, but x86 has a special
case of !PREFIX_LOCK where it always wants the non-atomic version.

Split these out so that x86 does not have to roll its own.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 546789c7df8866c55cae8d3195e8e58328a35d51
      
https://github.com/qemu/qemu/commit/546789c7df8866c55cae8d3195e8e58328a35d51
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/arm/helper-a64.c
    M target/arm/helper-a64.h
    M target/arm/translate-a64.c

  Log Message:
  -----------
  target/arm: Use tcg_gen_atomic_cmpxchg_i128 for STXP

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20221112042555.2622152-2-richard.henderson@linaro.org>


  Commit: 9c32396debee91a87867abc562bb8e2b458c958a
      
https://github.com/qemu/qemu/commit/9c32396debee91a87867abc562bb8e2b458c958a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/arm/helper-a64.c
    M target/arm/helper-a64.h
    M target/arm/translate-a64.c

  Log Message:
  -----------
  target/arm: Use tcg_gen_atomic_cmpxchg_i128 for CASP

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-Id: <20221112042555.2622152-3-richard.henderson@linaro.org>


  Commit: 894448ae7dce4269c4b3c152a7091520317ea397
      
https://github.com/qemu/qemu/commit/894448ae7dce4269c4b3c152a7091520317ea397
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/ppc/helper.h
    M target/ppc/mem_helper.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Use tcg_gen_atomic_cmpxchg_i128 for STQCX

Note that the previous direct reference to reserve_val,

-   tcg_gen_ld_i64(t1, cpu_env, (ctx->le_mode
-                                ? offsetof(CPUPPCState, reserve_val2)
-                                : offsetof(CPUPPCState, reserve_val)));

was incorrect because all references should have gone through
cpu_reserve_val.  Create a cpu_reserve_val2 tcg temp to fix this.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221112061122.2720163-2-richard.henderson@linaro.org>


  Commit: 29b8de001f8ea2f36d4de5a250d1150492311529
      
https://github.com/qemu/qemu/commit/29b8de001f8ea2f36d4de5a250d1150492311529
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/div.c

  Log Message:
  -----------
  tests/tcg/s390x: Add div.c

Add a basic test to prevent regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20221101111300.2539919-1-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c432198ab09205d06ba9cf53cb4610d5fae22aa7
      
https://github.com/qemu/qemu/commit/c432198ab09205d06ba9cf53cb4610d5fae22aa7
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/clst.c

  Log Message:
  -----------
  tests/tcg/s390x: Add clst.c

Add a basic test to prevent regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20221025213008.2209006-2-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 521d38ec9b4da82576dfcd3c5b6a2172cda25736
      
https://github.com/qemu/qemu/commit/521d38ec9b4da82576dfcd3c5b6a2172cda25736
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/long-double.c

  Log Message:
  -----------
  tests/tcg/s390x: Add long-double.c

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 82f6584c9b1345489a6446b3bc4086e00e8d67d1
      
https://github.com/qemu/qemu/commit/82f6584c9b1345489a6446b3bc4086e00e8d67d1
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/cdsg.c

  Log Message:
  -----------
  tests/tcg/s390x: Add cdsg.c

Add a simple test to prevent regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230201133257.3223115-1-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6d28ff406c71c2c6f8a79edb1ccfc17978aa95fb
      
https://github.com/qemu/qemu/commit/6d28ff406c71c2c6f8a79edb1ccfc17978aa95fb
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/int_helper.c
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use a single return for helper_divs32/u32

Pack the quotient and remainder into a single uint64_t.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
v2: Fix operand ordering; use tcg_extr32_i64.


  Commit: 4e5712f9037c34bbd9ffd78baa9d1ebea13a430d
      
https://github.com/qemu/qemu/commit/4e5712f9037c34bbd9ffd78baa9d1ebea13a430d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/int_helper.c
    M target/s390x/tcg/translate.c
    M tests/tcg/s390x/div.c

  Log Message:
  -----------
  target/s390x: Use a single return for helper_divs64/u64

Pack the quotient and remainder into a single Int128.
Use the divu128 primitive to remove the cpu_abort on
32-bit hosts.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
v2: Extended div test case to cover these insns.


  Commit: b71dd2a51e898ee91bee3e23708e8d4d14ac6812
      
https://github.com/qemu/qemu/commit/b71dd2a51e898ee91bee3e23708e8d4d14ac6812
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use Int128 for return from CLST

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c91192245ac32c219ba698e3ca5e976cbed3359b
      
https://github.com/qemu/qemu/commit/c91192245ac32c219ba698e3ca5e976cbed3359b
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use Int128 for return from CKSM

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ef45f5b998126205e0362c7af4c5d6ee65801450
      
https://github.com/qemu/qemu/commit/ef45f5b998126205e0362c7af4c5d6ee65801450
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use Int128 for return from TRE

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f4031d9664d6db63dc384e1bca38739b2cb50acd
      
https://github.com/qemu/qemu/commit/f4031d9664d6db63dc384e1bca38739b2cb50acd
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Copy wout_x1 to wout_x1_P

Make a copy of wout_x1 before modifying it, as wout_x1_P
emphasizing that it operates on the out/out2 pair.  The insns
that use x1_P are data movement that will not change to Int128.

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ee5e866fd2304a08172c3674dd7c7e7a97b046ed
      
https://github.com/qemu/qemu/commit/ee5e866fd2304a08172c3674dd7c7e7a97b046ed
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/fpu_helper.c
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use Int128 for returning float128

Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
v2: Remove extraneous return_low128.


  Commit: 2b91240f95fdb9acfa35ccac6cda2a42a16ac7f2
      
https://github.com/qemu/qemu/commit/2b91240f95fdb9acfa35ccac6cda2a42a16ac7f2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/fpu_helper.c
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use Int128 for passing float128

Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
v2: Fix SPEC_in1_x1.


  Commit: 1fcd84fa0d610c1215cced54e64046a47148a388
      
https://github.com/qemu/qemu/commit/1fcd84fa0d610c1215cced54e64046a47148a388
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/helper.h
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Use tcg_gen_atomic_cmpxchg_i128 for CDSG

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b5deff74d1b1cb33b65a6c8db44fc87e972b53f7
      
https://github.com/qemu/qemu/commit/b5deff74d1b1cb33b65a6c8db44fc87e972b53f7
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Implement CC_OP_NZ in gen_op_calc_cc

This case is trivial to implement inline.

Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6218c177afb341e5a64428fcc17decbc9d6247a6
      
https://github.com/qemu/qemu/commit/6218c177afb341e5a64428fcc17decbc9d6247a6
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: Split out gen_cmpxchg8b, gen_cmpxchg16b

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 326ad06cf5b2cf6f4ed7ca635269e89fd189e1a4
      
https://github.com/qemu/qemu/commit/326ad06cf5b2cf6f4ed7ca635269e89fd189e1a4
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/i386/helper.h
    M target/i386/tcg/mem_helper.c
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: Inline cmpxchg8b

Use tcg_gen_atomic_cmpxchg_i64 for the atomic case,
and tcg_gen_nonatomic_cmpxchg_i64 otherwise.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 5f0dd8cd33cb6c753ed4435e13bd0622a38a9967
      
https://github.com/qemu/qemu/commit/5f0dd8cd33cb6c753ed4435e13bd0622a38a9967
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M target/i386/helper.h
    M target/i386/tcg/mem_helper.c
    M target/i386/tcg/translate.c

  Log Message:
  -----------
  target/i386: Inline cmpxchg16b

Use tcg_gen_atomic_cmpxchg_i128 for the atomic case,
and tcg_gen_qemu_ld/st_i128 otherwise.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a2495ede07498ee36b18b03e7038ba30c9871bb2
      
https://github.com/qemu/qemu/commit/a2495ede07498ee36b18b03e7038ba30c9871bb2
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M tcg/aarch64/tcg-target.c.inc

  Log Message:
  -----------
  tcg/aarch64: Fix patching of LDR in tb_target_set_jmp_target

'offset' should be bits [23:5] of LDR instruction, rather than [4:0].

Fixes: d59d83a1c388 ("tcg/aarch64: Reorg goto_tb implementation")
Reviewed-by: Zenghui Yu <yuzenghui@huawei.com>
Reported-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b52388129bf0097954515c097e83e6112de1b579
      
https://github.com/qemu/qemu/commit/b52388129bf0097954515c097e83e6112de1b579
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2023-02-04 (Sat, 04 Feb 2023)

  Changed paths:
    M accel/tcg/atomic_common.c.inc
    M accel/tcg/cputlb.c
    M accel/tcg/tcg-runtime.h
    M accel/tcg/user-exec.c
    M include/exec/cpu_ldst.h
    M include/exec/helper-head.h
    M include/qemu/atomic128.h
    M include/qemu/int128.h
    M include/tcg/tcg-op.h
    M include/tcg/tcg.h
    M target/arm/helper-a64.c
    M target/arm/helper-a64.h
    M target/arm/translate-a64.c
    M target/i386/helper.h
    M target/i386/tcg/mem_helper.c
    M target/i386/tcg/translate.c
    M target/ppc/helper.h
    M target/ppc/mem_helper.c
    M target/ppc/translate.c
    M target/s390x/helper.h
    M target/s390x/tcg/fpu_helper.c
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/int_helper.c
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c
    M tcg/aarch64/tcg-target.c.inc
    M tcg/aarch64/tcg-target.h
    M tcg/arm/tcg-target.c.inc
    M tcg/arm/tcg-target.h
    M tcg/i386/tcg-target.c.inc
    M tcg/i386/tcg-target.h
    M tcg/loongarch64/tcg-target.c.inc
    M tcg/loongarch64/tcg-target.h
    M tcg/mips/tcg-target.c.inc
    M tcg/mips/tcg-target.h
    M tcg/ppc/tcg-target.c.inc
    M tcg/riscv/tcg-target.c.inc
    M tcg/riscv/tcg-target.h
    M tcg/s390x/tcg-target.c.inc
    M tcg/s390x/tcg-target.h
    M tcg/sparc64/tcg-target.c.inc
    M tcg/sparc64/tcg-target.h
    M tcg/tcg-internal.h
    M tcg/tcg-op.c
    M tcg/tcg.c
    M tcg/tci.c
    M tcg/tci/tcg-target.c.inc
    M tcg/tci/tcg-target.h
    M tests/tcg/s390x/Makefile.target
    A tests/tcg/s390x/cdsg.c
    A tests/tcg/s390x/clst.c
    A tests/tcg/s390x/div.c
    A tests/tcg/s390x/long-double.c
    M util/int128.c

  Log Message:
  -----------
  Merge tag 'pull-tcg-20230204' of https://gitlab.com/rth7680/qemu into staging

tcg: Add support for TCGv_i128 in parameters and returns.
tcg: Add support for TCGv_i128 in cmpxchg.
tcg: Test CPUJumpCache in tb_jmp_cache_clear_page
tcg: Split out tcg_gen_nonatomic_cmpxchg_i{32,64}
tcg/aarch64: Fix patching of LDR in tb_target_set_jmp_target
target/arm: Use tcg_gen_atomic_cmpxchg_i128
target/i386: Use tcg_gen_atomic_cmpxchg_i128
target/i386: Use tcg_gen_nonatomic_cmpxchg_i{32,64}
target/s390x: Use tcg_gen_atomic_cmpxchg_i128
target/s390x: Use TCGv_i128 in passing and returning float128
target/s390x: Implement CC_OP_NZ in gen_op_calc_cc

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmPeiDYdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+hFQf+K1MkEK1wtpjnqrYD
# 4l36Uo3B7w8Yi6FxbCx9NP78dJNNTjTn0zqhtISRKSzI7TGUCGnmQs40iqYrRe5S
# 9x6LJgTJplI2dsANvtsTaWB5gNzhowPt5tlit+J6Q0POwvvwcBZAOumY8AYt1YP+
# dMsjBLw6HFaqSCU5IERZrB4kBwl61VTkTAtHL2utSZpdsOYoc3y2hzbJ/w3kLK2u
# YXnMvom+Gc1rvQTaSMgiPYFITyx/VtXDe+JQwNikpu7Na+RFjtu7cHmg/BtZFo6s
# 15AsAS8JlENKAunpJiX41UR7SxB8MdyQL5LyjVNWo5F7+YgQuuO1gqYKt6qUwd+A
# oH2uBA==
# =xjMy
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 04 Feb 2023 16:30:46 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20230204' of https://gitlab.com/rth7680/qemu: (40 commits)
  tcg/aarch64: Fix patching of LDR in tb_target_set_jmp_target
  target/i386: Inline cmpxchg16b
  target/i386: Inline cmpxchg8b
  target/i386: Split out gen_cmpxchg8b, gen_cmpxchg16b
  target/s390x: Implement CC_OP_NZ in gen_op_calc_cc
  target/s390x: Use tcg_gen_atomic_cmpxchg_i128 for CDSG
  target/s390x: Use Int128 for passing float128
  target/s390x: Use Int128 for returning float128
  target/s390x: Copy wout_x1 to wout_x1_P
  target/s390x: Use Int128 for return from TRE
  target/s390x: Use Int128 for return from CKSM
  target/s390x: Use Int128 for return from CLST
  target/s390x: Use a single return for helper_divs64/u64
  target/s390x: Use a single return for helper_divs32/u32
  tests/tcg/s390x: Add cdsg.c
  tests/tcg/s390x: Add long-double.c
  tests/tcg/s390x: Add clst.c
  tests/tcg/s390x: Add div.c
  target/ppc: Use tcg_gen_atomic_cmpxchg_i128 for STQCX
  target/arm: Use tcg_gen_atomic_cmpxchg_i128 for CASP
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/ceabf6e50057...b52388129bf0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]