[PATCH 00/10] accel/tcg: refactor the cpu-exec loop

Alex Bennée posted 10 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20230320101035.2214196-1-alex.bennee@linaro.org
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>
include/exec/cpu-all.h           |  52 +--------------
include/exec/cpu-irq.h           |  83 +++++++++++++++++++++++
include/exec/poison.h            |  13 ----
include/hw/core/sysemu-cpu-ops.h |  16 +++++
include/hw/core/tcg-cpu-ops.h    |   7 +-
target/i386/cpu-internal.h       |   2 +
accel/tcg/cpu-exec-common.c      |  30 ---------
accel/tcg/cpu-exec-softmmu.c     |  66 +++++++++++++++++++
accel/tcg/cpu-exec.c             | 109 ++++++++++---------------------
target/i386/cpu-sysemu.c         |  29 ++++++++
target/i386/cpu.c                |   2 +
target/i386/tcg/tcg-cpu.c        |   1 +
.git-blame-ignore-revs           |  18 +++++
accel/tcg/meson.build            |  10 +++
14 files changed, 267 insertions(+), 171 deletions(-)
create mode 100644 include/exec/cpu-irq.h
create mode 100644 accel/tcg/cpu-exec-softmmu.c
create mode 100644 .git-blame-ignore-revs
[PATCH 00/10] accel/tcg: refactor the cpu-exec loop
Posted by Alex Bennée 1 year, 1 month ago
This is an RFC for something I was playing with over the weekend to
try and reduce target specific details polluting cpu-exec. In the end
it does get rid of TARGET_I386 #ifdef'ery but I couldn't go further to
just building one version of cpu-exec-user and cpu-exec-softmmu
because there are still per target differences.

Anyway what do people think?

Alex Bennée (10):
  metadata: add .git-blame-ignore-revs
  accel/tcg: move cpu_reloading_memory_map into cpu-exec-softmmu
  accel/tcg: move i386 halt handling to sysemu_ops
  accel/tcg: don't bother with ifdef for CPU_DUMP_CCOP
  accel/tcg: remove the fake_user_interrupt guards
  includes: move irq definitions out of cpu-all.h
  accel/tcg: use QEMU_IOTHREAD_LOCK_GUARD to cover the exit
  accel/tcg: push i386 specific hacks into handle_cpu_interrupt callback
  accel/tcg: re-inline the filtering of virtual IRQs but data driven
  accel/tcg: remove unused includes

 include/exec/cpu-all.h           |  52 +--------------
 include/exec/cpu-irq.h           |  83 +++++++++++++++++++++++
 include/exec/poison.h            |  13 ----
 include/hw/core/sysemu-cpu-ops.h |  16 +++++
 include/hw/core/tcg-cpu-ops.h    |   7 +-
 target/i386/cpu-internal.h       |   2 +
 accel/tcg/cpu-exec-common.c      |  30 ---------
 accel/tcg/cpu-exec-softmmu.c     |  66 +++++++++++++++++++
 accel/tcg/cpu-exec.c             | 109 ++++++++++---------------------
 target/i386/cpu-sysemu.c         |  29 ++++++++
 target/i386/cpu.c                |   2 +
 target/i386/tcg/tcg-cpu.c        |   1 +
 .git-blame-ignore-revs           |  18 +++++
 accel/tcg/meson.build            |  10 +++
 14 files changed, 267 insertions(+), 171 deletions(-)
 create mode 100644 include/exec/cpu-irq.h
 create mode 100644 accel/tcg/cpu-exec-softmmu.c
 create mode 100644 .git-blame-ignore-revs

-- 
2.39.2