All of lore.kernel.org
 help / color / mirror / Atom feed
* [PULL 00/47] tcg patch queue
@ 2022-10-26  2:10 Richard Henderson
  2022-10-26  2:10 ` [PULL 01/47] Revert "accel/tcg: Init TCG cflags in vCPU thread handler" Richard Henderson
                   ` (47 more replies)
  0 siblings, 48 replies; 66+ messages in thread
From: Richard Henderson @ 2022-10-26  2:10 UTC (permalink / raw)
  To: qemu-devel; +Cc: stefanha

The following changes since commit e750a7ace492f0b450653d4ad368a77d6f660fb8:

  Merge tag 'pull-9p-20221024' of https://github.com/cschoenebeck/qemu into staging (2022-10-24 14:27:12 -0400)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20221026

for you to fetch changes up to 04f105758b0089f73ee47260671580cde35f96cc:

  accel/tcg: Remove restore_state_to_opc function (2022-10-26 11:11:28 +1000)

----------------------------------------------------------------
Revert incorrect cflags initialization.
Add direct jumps for tcg/loongarch64.
Speed up breakpoint check.
Improve assertions for atomic.h.
Move restore_state_to_opc to TCGCPUOps.
Cleanups to TranslationBlock maintenance.

----------------------------------------------------------------
Leandro Lupori (1):
      accel/tcg: Add a quicker check for breakpoints

Peter Maydell (1):
      Revert "accel/tcg: Init TCG cflags in vCPU thread handler"

Qi Hu (2):
      tcg/loongarch64: Add direct jump support
      tcg/aarch64: Remove unused code in tcg_out_op

Richard Henderson (43):
      include/qemu/osdep: Add qemu_build_assert
      include/qemu/atomic: Use qemu_build_assert
      include/qemu/thread: Use qatomic_* functions
      accel/tcg: Make page_alloc_target_data allocation constant
      accel/tcg: Remove disabled debug in translate-all.c
      accel/tcg: Split out PageDesc to internal.h
      accel/tcg: Split out tb-maint.c
      accel/tcg: Move assert_no_pages_locked to internal.h
      accel/tcg: Drop cpu_get_tb_cpu_state from TARGET_HAS_PRECISE_SMC
      accel/tcg: Remove duplicate store to tb->page_addr[]
      accel/tcg: Introduce tb_{set_}page_addr{0,1}
      accel/tcg: Rename tb_invalidate_phys_page
      accel/tcg: Rename tb_invalidate_phys_page_range and drop end parameter
      accel/tcg: Unify declarations of tb_invalidate_phys_range
      accel/tcg: Use tb_invalidate_phys_page in page_set_flags
      accel/tcg: Call tb_invalidate_phys_page for PAGE_RESET
      accel/tcg: Use page_reset_target_data in page_set_flags
      accel/tcg: Use tb_invalidate_phys_range in page_set_flags
      accel/tcg: Move TARGET_PAGE_DATA_SIZE impl to user-exec.c
      accel/tcg: Simplify page_get/alloc_target_data
      accel/tcg: Add restore_state_to_opc to TCGCPUOps
      target/alpha: Convert to tcg_ops restore_state_to_opc
      target/arm: Convert to tcg_ops restore_state_to_opc
      target/avr: Convert to tcg_ops restore_state_to_opc
      target/cris: Convert to tcg_ops restore_state_to_opc
      target/hexagon: Convert to tcg_ops restore_state_to_opc
      target/hppa: Convert to tcg_ops restore_state_to_opc
      target/i386: Convert to tcg_ops restore_state_to_opc
      target/loongarch: Convert to tcg_ops restore_state_to_opc
      target/m68k: Convert to tcg_ops restore_state_to_opc
      target/microblaze: Convert to tcg_ops restore_state_to_opc
      target/mips: Convert to tcg_ops restore_state_to_opc
      target/nios2: Convert to tcg_ops restore_state_to_opc
      target/openrisc: Convert to tcg_ops restore_state_to_opc
      target/ppc: Convert to tcg_ops restore_state_to_opc
      target/riscv: Convert to tcg_ops restore_state_to_opc
      target/rx: Convert to tcg_ops restore_state_to_opc
      target/s390x: Convert to tcg_ops restore_state_to_opc
      target/sh4: Convert to tcg_ops restore_state_to_opc
      target/sparc: Convert to tcg_ops restore_state_to_opc
      target/tricore: Convert to tcg_ops restore_state_to_opc
      target/xtensa: Convert to tcg_ops restore_state_to_opc
      accel/tcg: Remove restore_state_to_opc function

 accel/tcg/internal.h             |   91 ++++
 include/exec/cpu-all.h           |   22 +-
 include/exec/exec-all.h          |   35 +-
 include/exec/ram_addr.h          |    2 -
 include/exec/translate-all.h     |    2 +-
 include/hw/core/tcg-cpu-ops.h    |   11 +
 include/qemu/atomic.h            |   16 +-
 include/qemu/osdep.h             |    8 +
 include/qemu/thread.h            |    8 +-
 target/arm/cpu.h                 |    8 +
 target/arm/internals.h           |    4 -
 target/mips/tcg/tcg-internal.h   |    3 +
 target/s390x/s390x-internal.h    |    4 +-
 target/sparc/cpu.h               |    3 +
 tcg/loongarch64/tcg-target.h     |    9 +-
 accel/tcg/cpu-exec.c             |   24 +-
 accel/tcg/tb-maint.c             |  704 ++++++++++++++++++++++++++
 accel/tcg/tcg-accel-ops-mttcg.c  |    5 +-
 accel/tcg/tcg-accel-ops-rr.c     |    7 +-
 accel/tcg/translate-all.c        | 1017 ++------------------------------------
 accel/tcg/translator.c           |    9 +-
 accel/tcg/user-exec.c            |   42 ++
 bsd-user/mmap.c                  |    2 -
 cpu.c                            |    4 +-
 linux-user/mmap.c                |    4 -
 target/alpha/cpu.c               |    9 +
 target/alpha/translate.c         |    6 -
 target/arm/cpu.c                 |   26 +
 target/arm/mte_helper.c          |    5 -
 target/arm/translate.c           |   22 -
 target/avr/cpu.c                 |   11 +
 target/avr/translate.c           |    6 -
 target/cris/cpu.c                |   11 +
 target/cris/translate.c          |    6 -
 target/hexagon/cpu.c             |    9 +-
 target/hppa/cpu.c                |   19 +
 target/hppa/translate.c          |   13 -
 target/i386/tcg/tcg-cpu.c        |   19 +
 target/i386/tcg/translate.c      |   15 -
 target/loongarch/cpu.c           |   11 +
 target/loongarch/translate.c     |    6 -
 target/m68k/cpu.c                |   14 +
 target/m68k/translate.c          |   10 -
 target/microblaze/cpu.c          |   11 +
 target/microblaze/translate.c    |    7 -
 target/mips/cpu.c                |    1 +
 target/mips/tcg/translate.c      |    8 +-
 target/nios2/cpu.c               |   11 +
 target/nios2/translate.c         |    6 -
 target/openrisc/cpu.c            |   13 +
 target/openrisc/translate.c      |   10 -
 target/ppc/cpu_init.c            |   10 +
 target/ppc/translate.c           |    6 -
 target/riscv/cpu.c               |    9 +-
 target/rx/cpu.c                  |   10 +
 target/rx/translate.c            |    6 -
 target/s390x/cpu.c               |    1 +
 target/s390x/tcg/translate.c     |    7 +-
 target/sh4/cpu.c                 |   16 +
 target/sh4/translate.c           |   10 -
 target/sparc/cpu.c               |    1 +
 target/sparc/translate.c         |    7 +-
 target/tricore/cpu.c             |   11 +
 target/tricore/translate.c       |    6 -
 target/xtensa/cpu.c              |   10 +
 target/xtensa/translate.c        |    6 -
 tcg/aarch64/tcg-target.c.inc     |   31 +-
 tcg/loongarch64/tcg-target.c.inc |   48 +-
 accel/tcg/meson.build            |    1 +
 69 files changed, 1304 insertions(+), 1221 deletions(-)
 create mode 100644 accel/tcg/tb-maint.c


^ permalink raw reply	[flat|nested] 66+ messages in thread
* [PULL 00/47] tcg patch queue
@ 2023-10-03 17:30 Richard Henderson
  2023-10-04 14:57 ` Stefan Hajnoczi
  0 siblings, 1 reply; 66+ messages in thread
From: Richard Henderson @ 2023-10-03 17:30 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit da1034094d375afe9e3d8ec8980550ea0f06f7e0:

  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-10-03 07:43:44 -0400)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20231003

for you to fetch changes up to 971537eca2e6c7aaf185bbf10d4cbd84cf9d8a38:

  tcg/loongarch64: Fix buid error (2023-10-03 08:53:17 -0700)

----------------------------------------------------------------
accel: Introduce AccelClass::cpu_common_[un]realize
accel: Target agnostic code movement
accel/tcg: Cleanups to use CPUState instead of CPUArchState
accel/tcg: Move CPUNegativeOffsetState into CPUState
tcg: Split out tcg init functions to tcg/startup.h
linux-user/hppa: Fix struct target_sigcontext layout
build: Remove --enable-gprof

----------------------------------------------------------------
Anton Johansson (9):
      target/arm: Replace TARGET_PAGE_ENTRY_EXTRA
      accel/tcg: Modify tlb_*() to use CPUState
      accel/tcg: Modify probe_access_internal() to use CPUState
      accel/tcg: Modify memory access functions to use CPUState
      accel/tcg: Modify atomic_mmu_lookup() to use CPUState
      accel/tcg: Use CPUState in atomicity helpers
      accel/tcg: Remove env_tlb()
      accel/tcg: Unify user and softmmu do_[st|ld]*_mmu()
      accel/tcg: move ld/st helpers to ldst_common.c.inc

Philippe Mathieu-Daudé (19):
      accel: Rename accel_cpu_realizefn() -> accel_cpu_realize()
      accel: Rename AccelCPUClass::cpu_realizefn() -> cpu_target_realize()
      accel: Rename accel_cpu_realize() -> accel_cpu_common_realize()
      accel: Introduce accel_cpu_common_unrealize() stub
      accel: Declare AccelClass::cpu_common_[un]realize() handlers
      accel/tcg: Have tcg_exec_realizefn() return a boolean
      accel/tcg: Restrict tcg_exec_[un]realizefn() to TCG
      exec: Make EXCP_FOO definitions target agnostic
      exec: Move cpu_loop_foo() target agnostic functions to 'cpu-common.h'
      accel/tcg: Restrict dump_exec_info() declaration
      accel: Make accel-blocker.o target agnostic
      accel: Rename accel-common.c -> accel-target.c
      exec: Rename cpu.c -> cpu-target.c
      exec: Rename target specific page-vary.c -> page-vary-target.c
      accel/tcg: Rename target-specific 'internal.h' -> 'internal-target.h'
      accel/tcg: Make monitor.c a target-agnostic unit
      accel/tcg: Make icount.o a target agnostic unit
      accel/tcg: Make cpu-exec-common.c a target agnostic unit
      tests/avocado: Re-enable MIPS Malta tests (GitLab issue #1884 fixed)

Richard Henderson (18):
      accel/tcg: Move CPUTLB definitions from cpu-defs.h
      qom: Propagate alignment through type system
      target/arm: Remove size and alignment for cpu subclasses
      target/*: Add instance_align to all cpu base classes
      accel/tcg: Validate placement of CPUNegativeOffsetState
      accel/tcg: Move CPUNegativeOffsetState into CPUState
      accel/tcg: Remove CPUState.icount_decr_ptr
      accel/tcg: Move can_do_io to CPUNegativeOffsetState
      accel/tcg: Remove cpu_neg()
      tcg: Rename cpu_env to tcg_env
      accel/tcg: Replace CPUState.env_ptr with cpu_env()
      accel/tcg: Remove cpu_set_cpustate_pointers
      accel/tcg: Remove env_neg()
      tcg: Remove TCGContext.tlb_fast_offset
      tcg: Remove argument to tcg_prologue_init
      tcg: Split out tcg init functions to tcg/startup.h
      linux-user/hppa: Fix struct target_sigcontext layout
      build: Remove --enable-gprof

gaosong (1):
      tcg/loongarch64: Fix buid error

 MAINTAINERS                                        |    7 +-
 docs/about/deprecated.rst                          |   14 -
 meson.build                                        |   18 +-
 accel/tcg/atomic_template.h                        |   20 +-
 accel/tcg/internal-common.h                        |   28 +
 accel/tcg/{internal.h => internal-target.h}        |   21 +-
 bsd-user/bsd-proc.h                                |    3 -
 include/exec/cpu-all.h                             |   67 +-
 include/exec/cpu-common.h                          |   39 +
 include/exec/cpu-defs.h                            |  138 ---
 include/exec/cpu_ldst.h                            |    8 +-
 include/exec/exec-all.h                            |   32 +-
 include/hw/core/accel-cpu.h                        |    2 +-
 include/hw/core/cpu.h                              |  171 ++-
 include/qemu/accel.h                               |   12 +-
 include/tcg/startup.h                              |   58 +
 include/tcg/tcg.h                                  |    6 +-
 target/alpha/cpu.h                                 |    1 -
 target/arm/common-semi-target.h                    |    2 +-
 target/arm/cpu-param.h                             |   12 -
 target/arm/cpu.h                                   |    1 -
 target/arm/tcg/translate-a32.h                     |    2 +-
 target/arm/tcg/translate-a64.h                     |    4 +-
 target/arm/tcg/translate.h                         |   16 +-
 target/avr/cpu.h                                   |    1 -
 target/cris/cpu.h                                  |    1 -
 target/hexagon/cpu.h                               |    2 +-
 target/hexagon/gen_tcg.h                           |  120 +-
 target/hexagon/gen_tcg_hvx.h                       |   20 +-
 target/hexagon/macros.h                            |    8 +-
 target/hppa/cpu.h                                  |    1 -
 target/i386/cpu.h                                  |    1 -
 target/loongarch/cpu.h                             |    1 -
 target/m68k/cpu.h                                  |    1 -
 target/microblaze/cpu.h                            |    6 +-
 target/mips/cpu.h                                  |    4 +-
 target/mips/tcg/translate.h                        |    6 +-
 target/nios2/cpu.h                                 |    1 -
 target/openrisc/cpu.h                              |    1 -
 target/ppc/cpu.h                                   |    1 -
 target/riscv/cpu.h                                 |    2 +-
 target/rx/cpu.h                                    |    1 -
 target/s390x/cpu.h                                 |    1 -
 target/sh4/cpu.h                                   |    1 -
 target/sparc/cpu.h                                 |    1 -
 target/tricore/cpu.h                               |    1 -
 target/xtensa/cpu.h                                |    3 +-
 accel/{accel-common.c => accel-target.c}           |   27 +-
 accel/dummy-cpus.c                                 |    2 +-
 accel/hvf/hvf-accel-ops.c                          |    2 +-
 accel/kvm/kvm-accel-ops.c                          |    2 +-
 accel/tcg/cpu-exec-common.c                        |    5 +-
 accel/tcg/cpu-exec.c                               |   31 +-
 accel/tcg/cputlb.c                                 |  787 +++++-------
 softmmu/icount.c => accel/tcg/icount-common.c      |    7 +-
 accel/tcg/monitor.c                                |    2 +-
 accel/tcg/plugin-gen.c                             |   10 +-
 accel/tcg/tb-maint.c                               |    3 +-
 accel/tcg/tcg-accel-ops-icount.c                   |    8 +-
 accel/tcg/tcg-accel-ops-mttcg.c                    |    4 +-
 accel/tcg/tcg-accel-ops-rr.c                       |    6 +-
 accel/tcg/tcg-accel-ops.c                          |    2 +-
 accel/tcg/tcg-all.c                                |    8 +-
 accel/tcg/translate-all.c                          |   15 +-
 accel/tcg/translator.c                             |   24 +-
 accel/tcg/user-exec.c                              |  279 +----
 bsd-user/main.c                                    |    6 +-
 bsd-user/signal.c                                  |   15 +-
 cpus-common.c => cpu-common.c                      |    0
 cpu.c => cpu-target.c                              |   13 +-
 gdbstub/gdbstub.c                                  |    4 +-
 gdbstub/user-target.c                              |    2 +-
 hw/core/cpu-common.c                               |    6 +-
 hw/i386/kvm/clock.c                                |    2 +-
 hw/intc/mips_gic.c                                 |    2 +-
 hw/intc/riscv_aclint.c                             |   12 +-
 hw/intc/riscv_imsic.c                              |    2 +-
 hw/ppc/e500.c                                      |    4 +-
 hw/ppc/spapr.c                                     |    2 +-
 linux-user/elfload.c                               |    4 +-
 linux-user/exit.c                                  |    6 -
 linux-user/hppa/signal.c                           |    2 +-
 linux-user/i386/cpu_loop.c                         |    2 +-
 linux-user/main.c                                  |    8 +-
 linux-user/signal.c                                |   20 +-
 linux-user/syscall.c                               |    2 +-
 monitor/hmp-cmds-target.c                          |    2 +-
 page-vary.c => page-vary-target.c                  |    0
 qom/object.c                                       |   14 +
 semihosting/arm-compat-semi.c                      |    6 +-
 semihosting/syscalls.c                             |   28 +-
 softmmu/watchpoint.c                               |    2 +-
 target/alpha/cpu.c                                 |    3 +-
 target/alpha/translate.c                           |  146 +--
 target/arm/cpu.c                                   |   12 +-
 target/arm/cpu64.c                                 |    4 -
 target/arm/helper.c                                |    2 +-
 target/arm/ptw.c                                   |    4 +-
 target/arm/tcg/mte_helper.c                        |    2 +-
 target/arm/tcg/sve_helper.c                        |    2 +-
 target/arm/tcg/tlb_helper.c                        |    4 +-
 target/arm/tcg/translate-a64.c                     |  384 +++---
 target/arm/tcg/translate-m-nocp.c                  |   24 +-
 target/arm/tcg/translate-mve.c                     |   52 +-
 target/arm/tcg/translate-neon.c                    |   78 +-
 target/arm/tcg/translate-sme.c                     |    8 +-
 target/arm/tcg/translate-sve.c                     |  172 +--
 target/arm/tcg/translate-vfp.c                     |   56 +-
 target/arm/tcg/translate.c                         |  234 ++--
 target/avr/cpu.c                                   |    3 +-
 target/avr/translate.c                             |   66 +-
 target/cris/cpu.c                                  |    3 +-
 target/cris/translate.c                            |   72 +-
 target/hexagon/cpu.c                               |    4 +-
 target/hexagon/genptr.c                            |   36 +-
 target/hexagon/idef-parser/parser-helpers.c        |    2 +-
 target/hexagon/translate.c                         |   52 +-
 target/hppa/cpu.c                                  |    2 +-
 target/hppa/mem_helper.c                           |    2 +-
 target/hppa/translate.c                            |  161 ++-
 target/i386/cpu.c                                  |    2 +-
 target/i386/hvf/hvf-cpu.c                          |    2 +-
 target/i386/kvm/kvm-cpu.c                          |    4 +-
 target/i386/nvmm/nvmm-all.c                        |   14 +-
 target/i386/tcg/sysemu/excp_helper.c               |    2 +-
 target/i386/tcg/tcg-cpu.c                          |    4 +-
 target/i386/tcg/translate.c                        |  584 ++++-----
 target/i386/whpx/whpx-all.c                        |   26 +-
 target/loongarch/cpu.c                             |    9 +-
 target/loongarch/translate.c                       |   22 +-
 target/m68k/cpu.c                                  |    9 +-
 target/m68k/translate.c                            |  306 ++---
 target/microblaze/cpu.c                            |    2 +-
 target/microblaze/translate.c                      |   52 +-
 target/mips/cpu.c                                  |    2 +-
 target/mips/tcg/lcsr_translate.c                   |    6 +-
 target/mips/tcg/msa_translate.c                    |   34 +-
 target/mips/tcg/mxu_translate.c                    |    4 +-
 target/mips/tcg/sysemu/mips-semi.c                 |    4 +-
 target/mips/tcg/translate.c                        | 1288 ++++++++++----------
 target/mips/tcg/vr54xx_translate.c                 |    2 +-
 target/nios2/cpu.c                                 |    5 +-
 target/nios2/translate.c                           |   52 +-
 target/openrisc/cpu.c                              |    7 +-
 target/openrisc/translate.c                        |   86 +-
 target/ppc/cpu_init.c                              |    1 -
 target/ppc/excp_helper.c                           |   10 +-
 target/ppc/translate.c                             |  366 +++---
 target/riscv/cpu.c                                 |    8 +-
 target/riscv/translate.c                           |   56 +-
 target/rx/cpu.c                                    |    5 +-
 target/rx/translate.c                              |   58 +-
 target/s390x/cpu.c                                 |    2 -
 target/s390x/tcg/translate.c                       |  426 +++----
 target/sh4/cpu.c                                   |    3 +-
 target/sh4/op_helper.c                             |    2 +-
 target/sh4/translate.c                             |  128 +-
 target/sparc/cpu.c                                 |    3 +-
 target/sparc/translate.c                           |  332 ++---
 target/tricore/cpu.c                               |   10 +-
 target/tricore/translate.c                         |  230 ++--
 target/xtensa/cpu.c                                |    2 +-
 target/xtensa/translate.c                          |  192 +--
 tcg/tcg-op-gvec.c                                  |  300 ++---
 tcg/tcg-op-ldst.c                                  |   22 +-
 tcg/tcg-op.c                                       |    2 +-
 tcg/tcg.c                                          |   23 +-
 accel/tcg/ldst_atomicity.c.inc                     |   88 +-
 accel/tcg/ldst_common.c.inc                        |  225 ++++
 target/cris/translate_v10.c.inc                    |   28 +-
 target/i386/tcg/decode-new.c.inc                   |    4 +-
 target/i386/tcg/emit.c.inc                         |  262 ++--
 target/loongarch/insn_trans/trans_atomic.c.inc     |    4 +-
 target/loongarch/insn_trans/trans_branch.c.inc     |    2 +-
 target/loongarch/insn_trans/trans_extra.c.inc      |   10 +-
 target/loongarch/insn_trans/trans_farith.c.inc     |    6 +-
 target/loongarch/insn_trans/trans_fcmp.c.inc       |    8 +-
 target/loongarch/insn_trans/trans_fmemory.c.inc    |    8 +-
 target/loongarch/insn_trans/trans_fmov.c.inc       |   20 +-
 target/loongarch/insn_trans/trans_memory.c.inc     |    8 +-
 target/loongarch/insn_trans/trans_privileged.c.inc |   52 +-
 target/loongarch/insn_trans/trans_vec.c.inc        |   24 +-
 target/mips/tcg/micromips_translate.c.inc          |   12 +-
 target/mips/tcg/nanomips_translate.c.inc           |  200 +--
 target/ppc/power8-pmu-regs.c.inc                   |    8 +-
 target/ppc/translate/branch-impl.c.inc             |    2 +-
 target/ppc/translate/dfp-impl.c.inc                |   22 +-
 target/ppc/translate/fixedpoint-impl.c.inc         |    2 +-
 target/ppc/translate/fp-impl.c.inc                 |   50 +-
 target/ppc/translate/processor-ctrl-impl.c.inc     |    8 +-
 target/ppc/translate/spe-impl.c.inc                |   30 +-
 target/ppc/translate/storage-ctrl-impl.c.inc       |   26 +-
 target/ppc/translate/vmx-impl.c.inc                |   34 +-
 target/ppc/translate/vsx-impl.c.inc                |   54 +-
 target/riscv/insn_trans/trans_privileged.c.inc     |    8 +-
 target/riscv/insn_trans/trans_rvbf16.c.inc         |   10 +-
 target/riscv/insn_trans/trans_rvd.c.inc            |   48 +-
 target/riscv/insn_trans/trans_rvf.c.inc            |   46 +-
 target/riscv/insn_trans/trans_rvh.c.inc            |    8 +-
 target/riscv/insn_trans/trans_rvi.c.inc            |   16 +-
 target/riscv/insn_trans/trans_rvm.c.inc            |   16 +-
 target/riscv/insn_trans/trans_rvv.c.inc            |  130 +-
 target/riscv/insn_trans/trans_rvvk.c.inc           |   30 +-
 target/riscv/insn_trans/trans_rvzce.c.inc          |    2 +-
 target/riscv/insn_trans/trans_rvzfa.c.inc          |   38 +-
 target/riscv/insn_trans/trans_rvzfh.c.inc          |   54 +-
 target/riscv/insn_trans/trans_rvzicbo.c.inc        |    8 +-
 target/riscv/insn_trans/trans_svinval.c.inc        |    6 +-
 target/riscv/insn_trans/trans_xthead.c.inc         |    2 +-
 target/s390x/tcg/translate_vx.c.inc                |  104 +-
 tcg/aarch64/tcg-target.c.inc                       |    2 +-
 tcg/arm/tcg-target.c.inc                           |    2 +-
 tcg/loongarch64/tcg-target.c.inc                   |   68 +-
 accel/meson.build                                  |    4 +-
 accel/tcg/meson.build                              |    8 +-
 meson_options.txt                                  |    3 -
 scripts/meson-buildoptions.sh                      |    3 -
 softmmu/meson.build                                |    4 -
 target/hexagon/README                              |   10 +-
 target/hexagon/gen_tcg_funcs.py                    |   16 +-
 tests/avocado/boot_linux_console.py                |    7 -
 tests/avocado/machine_mips_malta.py                |    6 -
 tests/avocado/replay_kernel.py                     |    7 -
 tests/avocado/tuxrun_baselines.py                  |    4 -
 tests/qemu-iotests/meson.build                     |    2 +-
 225 files changed, 5102 insertions(+), 5323 deletions(-)
 create mode 100644 accel/tcg/internal-common.h
 rename accel/tcg/{internal.h => internal-target.h} (89%)
 create mode 100644 include/tcg/startup.h
 rename accel/{accel-common.c => accel-target.c} (86%)
 rename softmmu/icount.c => accel/tcg/icount-common.c (99%)
 rename cpus-common.c => cpu-common.c (100%)
 rename cpu.c => cpu-target.c (97%)
 rename page-vary.c => page-vary-target.c (100%)


^ permalink raw reply	[flat|nested] 66+ messages in thread
* [PULL 00/47] tcg patch queue
@ 2022-12-30  0:01 Richard Henderson
  2023-01-05 14:04 ` Peter Maydell
  0 siblings, 1 reply; 66+ messages in thread
From: Richard Henderson @ 2022-12-30  0:01 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 222059a0fccf4af3be776fe35a5ea2d6a68f9a0b:

  Merge tag 'pull-ppc-20221221' of https://gitlab.com/danielhb/qemu into staging (2022-12-21 18:08:09 +0000)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20221229

for you to fetch changes up to b05e35533782a71a9fda472afd08442f50622a3e:

  tests/tcg/multiarch: add vma-pthread.c (2022-12-29 12:39:45 -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

 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 +-
 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                            | 1658 +++++++++++++++++++++-------------
 tcg/tci.c                            |    1 -
 tests/tcg/multiarch/munmap-pthread.c |   16 +-
 tests/tcg/multiarch/vma-pthread.c    |  207 +++++
 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 +-
 tcg/README                           |  784 ----------------
 tests/tcg/multiarch/Makefile.target  |    3 +
 50 files changed, 2630 insertions(+), 1763 deletions(-)
 create mode 100644 docs/devel/tcg-ops.rst
 create mode 100644 tests/tcg/multiarch/nop_func.h
 create mode 100644 tests/tcg/multiarch/vma-pthread.c
 delete mode 100644 tcg/README


^ permalink raw reply	[flat|nested] 66+ messages in thread
* [PULL 00/47] tcg patch queue
@ 2021-01-07 20:14 Richard Henderson
  2021-01-07 21:03 ` no-reply
  2021-01-08 10:28 ` Peter Maydell
  0 siblings, 2 replies; 66+ messages in thread
From: Richard Henderson @ 2021-01-07 20:14 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

The following changes since commit 470dd6bd360782f5137f7e3376af6a44658eb1d3:

  Merge remote-tracking branch 'remotes/stsquad/tags/pull-testing-060121-4' into staging (2021-01-06 22:18:36 +0000)

are available in the Git repository at:

  https://gitlab.com/rth7680/qemu.git tags/pull-tcg-20210107

for you to fetch changes up to e5e2e4c73926f6f3c1f5da24a350e4345d5ad232:

  tcg: Constify TCGLabelQemuLdst.raddr (2021-01-07 05:09:42 -1000)

----------------------------------------------------------------
Build fix for ppc64 centos7.
Reduce the use of scratch registers for tcg/i386.
Use _aligned_malloc for Win32.
Enable split w^x code gen buffers.

----------------------------------------------------------------
Philippe Mathieu-Daudé (1):
      util/oslib: Assert qemu_try_memalign() alignment is a power of 2

Richard Henderson (46):
      linux-user: Conditionalize TUNSETVNETLE
      tcg/i386: Adjust TCG_TARGET_HAS_MEMORY_BSWAP
      tcg: Introduce INDEX_op_qemu_st8_i32
      util/oslib-win32: Use _aligned_malloc for qemu_try_memalign
      tcg: Do not flush icache for interpreter
      util: Enhance flush_icache_range with separate data pointer
      util: Specialize flush_idcache_range for aarch64
      tcg: Move tcg prologue pointer out of TCGContext
      tcg: Move tcg epilogue pointer out of TCGContext
      tcg: Add in_code_gen_buffer
      tcg: Introduce tcg_splitwx_to_{rx,rw}
      tcg: Adjust TCGLabel for const
      tcg: Adjust tcg_out_call for const
      tcg: Adjust tcg_out_label for const
      tcg: Adjust tcg_register_jit for const
      tcg: Adjust tb_target_set_jmp_target for split-wx
      tcg: Make DisasContextBase.tb const
      tcg: Make tb arg to synchronize_from_tb const
      tcg: Use Error with alloc_code_gen_buffer
      tcg: Add --accel tcg,split-wx property
      accel/tcg: Support split-wx for linux with memfd
      accel/tcg: Support split-wx for darwin/iOS with vm_remap
      tcg: Return the TB pointer from the rx region from exit_tb
      tcg/i386: Support split-wx code generation
      tcg/aarch64: Use B not BL for tcg_out_goto_long
      tcg/aarch64: Support split-wx code generation
      disas: Push const down through host disassembly
      tcg/tci: Push const down through bytecode reading
      tcg: Introduce tcg_tbrel_diff
      tcg/ppc: Use tcg_tbrel_diff
      tcg/ppc: Use tcg_out_mem_long to reset TCG_REG_TB
      tcg/ppc: Support split-wx code generation
      tcg/sparc: Use tcg_tbrel_diff
      tcg/sparc: Support split-wx code generation
      tcg/s390: Use tcg_tbrel_diff
      tcg/s390: Support split-wx code generation
      tcg/riscv: Fix branch range checks
      tcg/riscv: Remove branch-over-branch fallback
      tcg/riscv: Support split-wx code generation
      accel/tcg: Add mips support to alloc_code_gen_buffer_splitwx_memfd
      tcg/mips: Do not assert on relocation overflow
      tcg/mips: Support split-wx code generation
      tcg/arm: Support split-wx code generation
      tcg: Remove TCG_TARGET_SUPPORT_MIRROR
      tcg: Constify tcg_code_gen_epilogue
      tcg: Constify TCGLabelQemuLdst.raddr

 accel/tcg/tcg-runtime.h      |   2 +-
 include/disas/dis-asm.h      |   4 +-
 include/disas/disas.h        |   2 +-
 include/exec/exec-all.h      |   2 +-
 include/exec/gen-icount.h    |   4 +-
 include/exec/log.h           |   2 +-
 include/exec/translator.h    |   2 +-
 include/hw/core/cpu.h        |   3 +-
 include/qemu/cacheflush.h    |  15 ++-
 include/sysemu/tcg.h         |   3 +-
 include/tcg/tcg-op.h         |   2 +-
 include/tcg/tcg-opc.h        |   5 +
 include/tcg/tcg.h            |  61 +++++++--
 linux-user/ioctls.h          |   2 +
 tcg/aarch64/tcg-target.h     |   3 +-
 tcg/arm/tcg-target.h         |   3 +-
 tcg/i386/tcg-target.h        |  12 +-
 tcg/mips/tcg-target.h        |   3 +-
 tcg/ppc/tcg-target.h         |   3 +-
 tcg/riscv/tcg-target.h       |   3 +-
 tcg/s390/tcg-target.h        |   9 +-
 tcg/sparc/tcg-target.h       |   3 +-
 tcg/tci/tcg-target.h         |   7 +-
 accel/tcg/cpu-exec.c         |  41 +++---
 accel/tcg/tcg-all.c          |  26 +++-
 accel/tcg/tcg-runtime.c      |   4 +-
 accel/tcg/translate-all.c    | 311 ++++++++++++++++++++++++++++++++++---------
 accel/tcg/translator.c       |   4 +-
 bsd-user/main.c              |   2 +-
 disas.c                      |   2 +-
 disas/capstone.c             |   2 +-
 linux-user/main.c            |   2 +-
 softmmu/physmem.c            |   2 +-
 target/arm/cpu.c             |   3 +-
 target/arm/translate-a64.c   |   2 +-
 target/avr/cpu.c             |   3 +-
 target/hppa/cpu.c            |   3 +-
 target/i386/tcg/tcg-cpu.c    |   3 +-
 target/microblaze/cpu.c      |   3 +-
 target/mips/cpu.c            |   3 +-
 target/riscv/cpu.c           |   3 +-
 target/rx/cpu.c              |   3 +-
 target/sh4/cpu.c             |   3 +-
 target/sparc/cpu.c           |   3 +-
 target/tricore/cpu.c         |   2 +-
 tcg/optimize.c               |   1 +
 tcg/tcg-op.c                 |  21 ++-
 tcg/tcg.c                    |  94 ++++++++++---
 tcg/tci.c                    |  62 +++++----
 util/cacheflush.c            | 107 ++++++++++++---
 util/cacheinfo.c             |   8 +-
 util/oslib-posix.c           |   2 +
 util/oslib-win32.c           |  12 +-
 tcg/aarch64/tcg-target.c.inc |  75 ++++++-----
 tcg/arm/tcg-target.c.inc     |  41 +++---
 tcg/i386/tcg-target.c.inc    | 174 +++++++++++-------------
 tcg/mips/tcg-target.c.inc    |  97 ++++++--------
 tcg/ppc/tcg-target.c.inc     |  88 ++++++------
 tcg/riscv/tcg-target.c.inc   | 125 ++++++-----------
 tcg/s390/tcg-target.c.inc    |  91 ++++++-------
 tcg/sparc/tcg-target.c.inc   |  58 ++++----
 tcg/tcg-ldst.c.inc           |   2 +-
 tcg/tcg-pool.c.inc           |   6 +-
 tcg/tci/tcg-target.c.inc     |   2 +-
 accel/tcg/trace-events       |   2 +-
 qemu-options.hx              |   7 +
 tcg/README                   |   5 +
 67 files changed, 1035 insertions(+), 630 deletions(-)


^ permalink raw reply	[flat|nested] 66+ messages in thread

end of thread, other threads:[~2023-10-04 17:09 UTC | newest]

Thread overview: 66+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-26  2:10 [PULL 00/47] tcg patch queue Richard Henderson
2022-10-26  2:10 ` [PULL 01/47] Revert "accel/tcg: Init TCG cflags in vCPU thread handler" Richard Henderson
2022-10-26  2:10 ` [PULL 02/47] tcg/loongarch64: Add direct jump support Richard Henderson
2022-10-26  2:10 ` [PULL 03/47] tcg/aarch64: Remove unused code in tcg_out_op Richard Henderson
2022-10-26  2:10 ` [PULL 04/47] accel/tcg: Add a quicker check for breakpoints Richard Henderson
2022-10-26  2:10 ` [PULL 05/47] include/qemu/osdep: Add qemu_build_assert Richard Henderson
2022-10-26  2:10 ` [PULL 06/47] include/qemu/atomic: Use qemu_build_assert Richard Henderson
2022-10-26  2:10 ` [PULL 07/47] include/qemu/thread: Use qatomic_* functions Richard Henderson
2022-10-26  2:10 ` [PULL 08/47] accel/tcg: Make page_alloc_target_data allocation constant Richard Henderson
2022-10-26  2:10 ` [PULL 09/47] accel/tcg: Remove disabled debug in translate-all.c Richard Henderson
2022-10-26  2:10 ` [PULL 10/47] accel/tcg: Split out PageDesc to internal.h Richard Henderson
2022-10-26  2:10 ` [PULL 11/47] accel/tcg: Split out tb-maint.c Richard Henderson
2022-10-26  2:10 ` [PULL 12/47] accel/tcg: Move assert_no_pages_locked to internal.h Richard Henderson
2022-10-26  2:10 ` [PULL 13/47] accel/tcg: Drop cpu_get_tb_cpu_state from TARGET_HAS_PRECISE_SMC Richard Henderson
2022-10-26  2:10 ` [PULL 14/47] accel/tcg: Remove duplicate store to tb->page_addr[] Richard Henderson
2022-10-26  2:10 ` [PULL 15/47] accel/tcg: Introduce tb_{set_}page_addr{0,1} Richard Henderson
2022-10-26  2:10 ` [PULL 16/47] accel/tcg: Rename tb_invalidate_phys_page Richard Henderson
2022-10-26  2:10 ` [PULL 17/47] accel/tcg: Rename tb_invalidate_phys_page_range and drop end parameter Richard Henderson
2022-10-26  2:10 ` [PULL 18/47] accel/tcg: Unify declarations of tb_invalidate_phys_range Richard Henderson
2022-10-26  2:10 ` [PULL 19/47] accel/tcg: Use tb_invalidate_phys_page in page_set_flags Richard Henderson
2022-10-26  2:10 ` [PULL 20/47] accel/tcg: Call tb_invalidate_phys_page for PAGE_RESET Richard Henderson
2022-10-26  2:10 ` [PULL 21/47] accel/tcg: Use page_reset_target_data in page_set_flags Richard Henderson
2022-10-26  2:10 ` [PULL 22/47] accel/tcg: Use tb_invalidate_phys_range " Richard Henderson
2022-10-26  2:10 ` [PULL 23/47] accel/tcg: Move TARGET_PAGE_DATA_SIZE impl to user-exec.c Richard Henderson
2022-10-26  2:10 ` [PULL 24/47] accel/tcg: Simplify page_get/alloc_target_data Richard Henderson
2022-10-26  2:10 ` [PULL 25/47] accel/tcg: Add restore_state_to_opc to TCGCPUOps Richard Henderson
2022-10-29 10:42   ` Alex Bennée
2022-10-31  0:10     ` Richard Henderson
2022-10-31 17:56   ` Christian Schoenebeck
2022-10-31 20:35     ` Richard Henderson
2022-10-31 20:53       ` Stefan Hajnoczi
2022-10-31 21:27         ` Mark Cave-Ayland
2022-10-31 22:03           ` Richard Henderson
2022-10-26  2:10 ` [PULL 26/47] target/alpha: Convert to tcg_ops restore_state_to_opc Richard Henderson
2022-10-26  2:10 ` [PULL 27/47] target/arm: " Richard Henderson
2022-10-26  2:10 ` [PULL 28/47] target/avr: " Richard Henderson
2022-10-26  2:10 ` [PULL 29/47] target/cris: " Richard Henderson
2022-10-26  2:10 ` [PULL 30/47] target/hexagon: " Richard Henderson
2022-10-26  2:11 ` [PULL 31/47] target/hppa: " Richard Henderson
2022-10-26  2:11 ` [PULL 32/47] target/i386: " Richard Henderson
2022-10-26  2:11 ` [PULL 33/47] target/loongarch: " Richard Henderson
2022-10-26  2:11 ` [PULL 34/47] target/m68k: " Richard Henderson
2022-10-26  2:11 ` [PULL 35/47] target/microblaze: " Richard Henderson
2022-10-26  2:11 ` [PULL 36/47] target/mips: " Richard Henderson
2022-10-26  2:11 ` [PULL 37/47] target/nios2: " Richard Henderson
2022-10-26  2:11 ` [PULL 38/47] target/openrisc: " Richard Henderson
2022-10-26  2:11 ` [PULL 39/47] target/ppc: " Richard Henderson
2022-10-26  2:11 ` [PULL 40/47] target/riscv: " Richard Henderson
2022-10-26  2:11 ` [PULL 41/47] target/rx: " Richard Henderson
2022-10-26  2:11 ` [PULL 42/47] target/s390x: " Richard Henderson
2022-10-26  2:11 ` [PULL 43/47] target/sh4: " Richard Henderson
2022-10-26  2:11 ` [PULL 44/47] target/sparc: " Richard Henderson
2022-10-26  2:11 ` [PULL 45/47] target/tricore: " Richard Henderson
2022-10-26  2:11 ` [PULL 46/47] target/xtensa: " Richard Henderson
2022-10-26  2:11 ` [PULL 47/47] accel/tcg: Remove restore_state_to_opc function Richard Henderson
2022-10-26 18:54 ` [PULL 00/47] tcg patch queue Stefan Hajnoczi
  -- strict thread matches above, loose matches on Subject: below --
2023-10-03 17:30 Richard Henderson
2023-10-04 14:57 ` Stefan Hajnoczi
2023-10-04 16:28   ` Richard Henderson
2023-10-04 16:46     ` Stefan Hajnoczi
2023-10-04 17:08       ` Richard Henderson
2022-12-30  0:01 Richard Henderson
2023-01-05 14:04 ` Peter Maydell
2021-01-07 20:14 Richard Henderson
2021-01-07 21:03 ` no-reply
2021-01-08 10:28 ` Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.