mbox series

[PATCH-for-10.0,0/6] accel/tcg: Allow tcg_exec_realizefn() initialize multiple frontends

Message ID 20241127121658.88966-1-philmd@linaro.org (mailing list archive)
Headers show
Series accel/tcg: Allow tcg_exec_realizefn() initialize multiple frontends | expand

Message

Philippe Mathieu-Daudé Nov. 27, 2024, 12:16 p.m. UTC
Little step toward heterogeneous emulation. After few trivial
cleanups, allow accel_cpu_common_realize() -> tcg_exec_realizefn()
to call frontend TCGCPUOps::initialize() for different targets.

Philippe Mathieu-Daudé (6):
  target/ppc: Indent ppc_tcg_ops[] with 4 spaces
  accel/tcg: Declare local tcg_ops variable in tcg_exec_realizefn()
  accel/tcg: Rename TCGCPUOps::initialize() as initialize_once()
  include: Expose QemuArch in 'qemu/arch_id.h'
  accel/tcg: Add TCGCPUOps::arch_id field
  accel/tcg: Allow tcg_exec_realizefn() initialize multiple frontends

 include/hw/core/tcg-cpu-ops.h |  9 ++++++---
 include/qemu/arch_id.h        | 28 ++++++++++++++++++++++++++++
 include/sysemu/arch_init.h    | 28 +++-------------------------
 accel/tcg/cpu-exec.c          | 13 +++++++------
 target/alpha/cpu.c            |  3 ++-
 target/arm/cpu.c              |  3 ++-
 target/arm/tcg/cpu-v7m.c      |  3 ++-
 target/avr/cpu.c              |  3 ++-
 target/hexagon/cpu.c          |  3 ++-
 target/hppa/cpu.c             |  3 ++-
 target/i386/tcg/tcg-cpu.c     |  3 ++-
 target/loongarch/cpu.c        |  3 ++-
 target/m68k/cpu.c             |  3 ++-
 target/microblaze/cpu.c       |  3 ++-
 target/mips/cpu.c             |  3 ++-
 target/openrisc/cpu.c         |  3 ++-
 target/ppc/cpu_init.c         | 30 +++++++++++++++---------------
 target/riscv/tcg/tcg-cpu.c    |  3 ++-
 target/rx/cpu.c               |  3 ++-
 target/s390x/cpu.c            |  3 ++-
 target/sh4/cpu.c              |  3 ++-
 target/sparc/cpu.c            |  3 ++-
 target/tricore/cpu.c          |  3 ++-
 target/xtensa/cpu.c           |  3 ++-
 24 files changed, 97 insertions(+), 68 deletions(-)
 create mode 100644 include/qemu/arch_id.h