[PATCH v2 00/12] maintainer updates pre-PR (gdbstub, plugins, time control)

Alex Bennée posted 12 patches 5 months, 1 week ago
Failed in applying to current master (apply log)
Maintainers: Cameron Esfahani <dirty@apple.com>, Roman Bolshakov <rbolshakov@ddn.com>, Paolo Bonzini <pbonzini@redhat.com>, Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, "Alex Bennée" <alex.bennee@linaro.org>, Alexandre Iooss <erdnaxe@crans.org>, Mahmoud Mandour <ma.mandourr@gmail.com>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, "Dr. David Alan Gilbert" <dave@treblig.org>, Alexander Graf <agraf@csgraf.de>, Peter Maydell <peter.maydell@linaro.org>, Marcelo Tosatti <mtosatti@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>
include/exec/gdbstub.h                        |  11 +-
include/gdbstub/enums.h                       |  21 +++
include/qemu/qemu-plugin.h                    |  27 +++
include/qemu/timer.h                          |  15 ++
include/sysemu/accel-ops.h                    |  18 +-
include/sysemu/cpu-timers.h                   |   3 +-
include/sysemu/qtest.h                        |   2 -
accel/hvf/hvf-accel-ops.c                     |   2 +-
accel/kvm/kvm-all.c                           |   2 +-
accel/qtest/qtest.c                           |  13 ++
accel/tcg/plugin-gen.c                        |   4 +-
accel/tcg/tcg-accel-ops.c                     |   2 +-
contrib/plugins/ips.c                         | 164 ++++++++++++++++++
gdbstub/user.c                                |   1 +
monitor/hmp-cmds.c                            |   3 +-
plugins/api.c                                 |  47 ++++-
plugins/core.c                                |   4 +-
...t-virtual-clock.c => cpus-virtual-clock.c} |   5 +
system/cpus.c                                 |  11 ++
system/qtest.c                                |  37 +---
system/vl.c                                   |   1 +
target/arm/hvf/hvf.c                          |   2 +-
target/arm/hyp_gdbstub.c                      |   2 +-
target/arm/kvm.c                              |   2 +-
target/i386/kvm/kvm.c                         |   2 +-
target/ppc/kvm.c                              |   2 +-
target/s390x/kvm/kvm.c                        |   2 +-
util/qemu-timer.c                             |  26 +++
accel/tcg/ldst_common.c.inc                   |   8 +-
contrib/plugins/Makefile                      |   1 +
plugins/qemu-plugins.symbols                  |   2 +
stubs/meson.build                             |   2 +-
32 files changed, 377 insertions(+), 67 deletions(-)
create mode 100644 include/gdbstub/enums.h
create mode 100644 contrib/plugins/ips.c
rename stubs/{cpus-get-virtual-clock.c => cpus-virtual-clock.c} (68%)
[PATCH v2 00/12] maintainer updates pre-PR (gdbstub, plugins, time control)
Posted by Alex Bennée 5 months, 1 week ago
Hi,

This is the current state of my maintainer trees. The gdbstub patches
are just minor clean-ups. The main feature this brings in is the
ability for plugins to control time. This has been discussed before
but represents the first time plugins can "control" the execution of
the core. The idea would be to eventually deprecate the icount auto
modes in favour of a plugin and just use icount for deterministic
execution and record/replay.

v2
  - merged in Pierrick's fixes
  - added migration blocker
  - added Max's plugin tweak

I'll send the PR on Monday if nothing comes up. The following still need review:

  plugins: add migration blocker

Alex.

Akihiko Odaki (1):
  plugins: Ensure register handles are not NULL

Alex Bennée (7):
  include/exec: add missing include guard comment
  gdbstub: move enums into separate header
  sysemu: add set_virtual_time to accel ops
  qtest: use cpu interface in qtest_clock_warp
  sysemu: generalise qtest_warp_clock as qemu_clock_advance_virtual_time
  plugins: add time control API
  plugins: add migration blocker

Max Chou (1):
  accel/tcg: Avoid unnecessary call overhead from
    qemu_plugin_vcpu_mem_cb

Pierrick Bouvier (3):
  qtest: move qtest_{get, set}_virtual_clock to accel/qtest/qtest.c
  contrib/plugins: add Instructions Per Second (IPS) example for cost
    modeling
  plugins: fix inject_mem_cb rw masking

 include/exec/gdbstub.h                        |  11 +-
 include/gdbstub/enums.h                       |  21 +++
 include/qemu/qemu-plugin.h                    |  27 +++
 include/qemu/timer.h                          |  15 ++
 include/sysemu/accel-ops.h                    |  18 +-
 include/sysemu/cpu-timers.h                   |   3 +-
 include/sysemu/qtest.h                        |   2 -
 accel/hvf/hvf-accel-ops.c                     |   2 +-
 accel/kvm/kvm-all.c                           |   2 +-
 accel/qtest/qtest.c                           |  13 ++
 accel/tcg/plugin-gen.c                        |   4 +-
 accel/tcg/tcg-accel-ops.c                     |   2 +-
 contrib/plugins/ips.c                         | 164 ++++++++++++++++++
 gdbstub/user.c                                |   1 +
 monitor/hmp-cmds.c                            |   3 +-
 plugins/api.c                                 |  47 ++++-
 plugins/core.c                                |   4 +-
 ...t-virtual-clock.c => cpus-virtual-clock.c} |   5 +
 system/cpus.c                                 |  11 ++
 system/qtest.c                                |  37 +---
 system/vl.c                                   |   1 +
 target/arm/hvf/hvf.c                          |   2 +-
 target/arm/hyp_gdbstub.c                      |   2 +-
 target/arm/kvm.c                              |   2 +-
 target/i386/kvm/kvm.c                         |   2 +-
 target/ppc/kvm.c                              |   2 +-
 target/s390x/kvm/kvm.c                        |   2 +-
 util/qemu-timer.c                             |  26 +++
 accel/tcg/ldst_common.c.inc                   |   8 +-
 contrib/plugins/Makefile                      |   1 +
 plugins/qemu-plugins.symbols                  |   2 +
 stubs/meson.build                             |   2 +-
 32 files changed, 377 insertions(+), 67 deletions(-)
 create mode 100644 include/gdbstub/enums.h
 create mode 100644 contrib/plugins/ips.c
 rename stubs/{cpus-get-virtual-clock.c => cpus-virtual-clock.c} (68%)

-- 
2.39.2