Changes in patch 47, to reduce execution time with --enable-debug.
Changes in patch 19, to fix an i386 specific register allocation failure.
r~
The following changes since commit cb9c6a8e5ad6a1f0ce164d352e3102df46986e22:
.gitlab-ci.d/windows: Work-around timeout and OpenGL problems of the MSYS2 jobs (2023-01-04 18:58:33 +0000)
are available in the Git repository at:
https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20230105
for you to fetch changes up to d4846c33ebe04d2141dcc613b5558d2f1d8077af:
tests/tcg/multiarch: add vma-pthread.c (2023-01-05 11:41:29 -0800)
----------------------------------------------------------------
Fix race conditions in new user-only vma tracking.
Add tcg backend paired register allocation.
Cleanup tcg backend function call abi.
----------------------------------------------------------------
Ilya Leoshkevich (1):
tests/tcg/multiarch: add vma-pthread.c
Mark Cave-Ayland (1):
tcg: convert tcg/README to rst
Philippe Mathieu-Daudé (5):
tcg/s390x: Fix coding style
tcg: Massage process_op_defs()
tcg: Pass number of arguments to tcg_emit_op() / tcg_op_insert_*()
tcg: Convert typecode_to_ffi from array to function
tcg: Factor init_ffi_layouts() out of tcg_context_init()
Richard Henderson (40):
meson: Move CONFIG_TCG_INTERPRETER to config_host
tcg: Cleanup trailing whitespace
qemu/main-loop: Introduce QEMU_IOTHREAD_LOCK_GUARD
hw/mips: Use QEMU_IOTHREAD_LOCK_GUARD in cpu_mips_irq_request
target/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in ppc_maybe_interrupt
target/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in cpu_interrupt_exittb
target/riscv: Use QEMU_IOTHREAD_LOCK_GUARD in riscv_cpu_update_mip
hw/ppc: Use QEMU_IOTHREAD_LOCK_GUARD in ppc_set_irq
accel/tcg: Use QEMU_IOTHREAD_LOCK_GUARD in io_readx/io_writex
tcg: Tidy tcg_reg_alloc_op
tcg: Remove TCG_TARGET_STACK_GROWSUP
tci: MAX_OPC_PARAM_IARGS is no longer used
tcg: Fix tcg_reg_alloc_dup*
tcg: Centralize updates to reg_to_temp
tcg: Remove check_regs
tcg: Introduce paired register allocation
accel/tcg: Set cflags_next_tb in cpu_common_initfn
target/sparc: Avoid TCGV_{LOW,HIGH}
tcg: Move TCG_{LOW,HIGH} to tcg-internal.h
tcg: Add temp_subindex to TCGTemp
tcg: Simplify calls to temp_sync vs mem_coherent
tcg: Allocate TCGTemp pairs in host memory order
tcg: Move TCG_TYPE_COUNT outside enum
tcg: Introduce tcg_type_size
tcg: Introduce TCGCallReturnKind and TCGCallArgumentKind
tcg: Replace TCG_TARGET_CALL_ALIGN_ARGS with TCG_TARGET_CALL_ARG_I64
tcg: Replace TCG_TARGET_EXTEND_ARGS with TCG_TARGET_CALL_ARG_I32
tcg: Use TCG_CALL_ARG_EVEN for TCI special case
accel/tcg/plugin: Don't search for the function pointer index
accel/tcg/plugin: Avoid duplicate copy in copy_call
accel/tcg/plugin: Use copy_op in append_{udata,mem}_cb
tcg: Vary the allocation size for TCGOp
tcg: Use output_pref wrapper function
tcg: Reorg function calls
tcg: Move ffi_cif pointer into TCGHelperInfo
tcg/aarch64: Merge tcg_out_callr into tcg_out_call
tcg: Add TCGHelperInfo argument to tcg_out_call
accel/tcg: Fix tb_invalidate_phys_page_unwind
accel/tcg: Use g_free_rcu for user-exec interval trees
accel/tcg: Handle false negative lookup in page_check_range
include/exec/helper-head.h | 2 +-
include/qemu/main-loop.h | 29 +
include/tcg/tcg-op.h | 35 +-
include/tcg/tcg.h | 96 +-
tcg/aarch64/tcg-target.h | 4 +-
tcg/arm/tcg-target.h | 4 +-
tcg/i386/tcg-target.h | 2 +
tcg/loongarch64/tcg-target.h | 3 +-
tcg/mips/tcg-target.h | 4 +-
tcg/riscv/tcg-target.h | 7 +-
tcg/s390x/tcg-target.h | 3 +-
tcg/sparc64/tcg-target.h | 3 +-
tcg/tcg-internal.h | 58 +-
tcg/tci/tcg-target.h | 7 +
tests/tcg/multiarch/nop_func.h | 25 +
accel/tcg/cputlb.c | 25 +-
accel/tcg/plugin-gen.c | 54 +-
accel/tcg/tb-maint.c | 78 +-
accel/tcg/user-exec.c | 59 +-
hw/core/cpu-common.c | 1 +
hw/mips/mips_int.c | 11 +-
hw/ppc/ppc.c | 10 +-
target/ppc/excp_helper.c | 11 +-
target/ppc/helper_regs.c | 14 +-
target/riscv/cpu_helper.c | 10 +-
target/sparc/translate.c | 21 +-
tcg/optimize.c | 10 +-
tcg/tcg-op-vec.c | 10 +-
tcg/tcg-op.c | 49 +-
tcg/tcg.c | 1663 +++++++++++++++++++++-------------
tcg/tci.c | 1 -
tests/tcg/multiarch/munmap-pthread.c | 16 +-
tests/tcg/multiarch/vma-pthread.c | 207 +++++
docs/devel/atomics.rst | 2 +
docs/devel/index-tcg.rst | 1 +
docs/devel/tcg-ops.rst | 941 +++++++++++++++++++
docs/devel/tcg.rst | 2 +-
meson.build | 4 +-
tcg/README | 784 ----------------
tcg/aarch64/tcg-target.c.inc | 19 +-
tcg/arm/tcg-target.c.inc | 10 +-
tcg/i386/tcg-target.c.inc | 5 +-
tcg/loongarch64/tcg-target.c.inc | 7 +-
tcg/mips/tcg-target.c.inc | 3 +-
tcg/ppc/tcg-target.c.inc | 36 +-
tcg/riscv/tcg-target.c.inc | 7 +-
tcg/s390x/tcg-target.c.inc | 32 +-
tcg/sparc64/tcg-target.c.inc | 3 +-
tcg/tci/tcg-target.c.inc | 7 +-
tests/tcg/multiarch/Makefile.target | 3 +
50 files changed, 2635 insertions(+), 1763 deletions(-)
create mode 100644 tests/tcg/multiarch/nop_func.h
create mode 100644 tests/tcg/multiarch/vma-pthread.c
create mode 100644 docs/devel/tcg-ops.rst
delete mode 100644 tcg/README