qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 13ddcf: tests: bump QOS_PATH_MAX_ELEMENT_SIZE


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 13ddcf: tests: bump QOS_PATH_MAX_ELEMENT_SIZE again
Date: Thu, 07 Mar 2024 03:44:06 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 13ddcf0a7a52ce17c836edbe6fc161a40269ce13
      
https://github.com/qemu/qemu/commit/13ddcf0a7a52ce17c836edbe6fc161a40269ce13
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M tests/qtest/libqos/qgraph.h

  Log Message:
  -----------
  tests: bump QOS_PATH_MAX_ELEMENT_SIZE again

We "fixed" a bug with LTO builds with 100c459f194 (tests/qtest: bump
up QOS_PATH_MAX_ELEMENT_SIZE) but it seems it has triggered again.

The array is sized according to the maximum anticipated length of a
path on the graph. However, the worst case for a depth-first search is
to push all nodes on the graph. So it's not really LTO, it depends on
the ordering of the constructors.

Lets be more assertive raising QOS_PATH_MAX_ELEMENT_SIZE to make it go
away again.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1186 (again)
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-2-alex.bennee@linaro.org>


  Commit: 1ea96f1ded914c64c5a6df78b8d0663daebc828c
      
https://github.com/qemu/qemu/commit/1ea96f1ded914c64c5a6df78b8d0663daebc828c
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gdbstub/user.c

  Log Message:
  -----------
  gdbstub: Support disablement in a multi-threaded process

The upcoming follow-fork-mode child support will require disabling
gdbstub in the parent process, which may have multiple threads (which
are represented as CPUs).

Loop over all CPUs in order to remove breakpoints and disable
single-step. Move the respective code into a separate function.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-2-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-3-alex.bennee@linaro.org>


  Commit: e4e5cb4a54403558defb4669a8c64cbd67713e1e
      
https://github.com/qemu/qemu/commit/e4e5cb4a54403558defb4669a8c64cbd67713e1e
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/bsd-file.h
    M bsd-user/qemu.h
    M bsd-user/signal.c
    M gdbstub/user-target.c
    M include/user/safe-syscall.h
    M linux-user/aarch64/cpu_loop.c
    M linux-user/arm/cpu_loop.c
    M linux-user/arm/signal.c
    M linux-user/cris/cpu_loop.c
    M linux-user/elfload.c
    M linux-user/hppa/signal.c
    M linux-user/linuxload.c
    M linux-user/m68k/cpu_loop.c
    M linux-user/m68k/target_cpu.h
    M linux-user/mips/cpu_loop.c
    M linux-user/ppc/signal.c
    M linux-user/qemu.h
    M linux-user/riscv/cpu_loop.c
    M linux-user/signal-common.h
    M linux-user/signal.c
    M linux-user/syscall.c
    M linux-user/vm86.c
    M linux-user/xtensa/signal.c
    M plugins/api.c
    M semihosting/arm-compat-semi.c

  Log Message:
  -----------
  {linux,bsd}-user: Introduce get_task_state()

A CPU's TaskState is stored in the CPUState's void *opaque field,
accessing which is somewhat awkward due to having to use a cast.
Introduce a wrapper and use it everywhere.

Suggested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240219141628.246823-3-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-4-alex.bennee@linaro.org>


  Commit: d4e1369abe67a4ffae2abbbd943aaeadc9595cc2
      
https://github.com/qemu/qemu/commit/d4e1369abe67a4ffae2abbbd943aaeadc9595cc2
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/main.c
    M linux-user/main.c

  Log Message:
  -----------
  {linux,bsd}-user: Update ts_tid after fork()

Currently ts_tid contains the parent tid after fork(), which is not
correct. So far it has not affected anything, but the upcoming
follow-fork-mode child support relies on the correct value, so fix it.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Warner Losh <imp@bsdimp.com>
Message-Id: <20240219141628.246823-4-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-5-alex.bennee@linaro.org>


  Commit: 3d6ed98da82e0bb2384bfbc83fadb518271fdbca
      
https://github.com/qemu/qemu/commit/3d6ed98da82e0bb2384bfbc83fadb518271fdbca
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/main.c
    M gdbstub/user.c
    M include/gdbstub/user.h
    M linux-user/main.c

  Log Message:
  -----------
  gdbstub: Introduce gdbserver_fork_start()

The upcoming follow-fork-mode child support requires knowing when
fork() is about to happen in order to initialize its state. Add a hook
for that.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-5-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-6-alex.bennee@linaro.org>


  Commit: 4edc98fcc8c8124a2e345144a75e1b33dac7632c
      
https://github.com/qemu/qemu/commit/4edc98fcc8c8124a2e345144a75e1b33dac7632c
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/freebsd/os-proc.h
    M bsd-user/main.c
    M bsd-user/qemu.h
    M linux-user/main.c
    M linux-user/syscall.c
    M linux-user/user-internals.h

  Log Message:
  -----------
  {linux,bsd}-user: Pass pid to fork_end()

The upcoming follow-fork-mode child support requires knowing the child
pid. Pass it down.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-6-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-7-alex.bennee@linaro.org>


  Commit: 9d456e092da670324f37f269d29300eedb915c3b
      
https://github.com/qemu/qemu/commit/9d456e092da670324f37f269d29300eedb915c3b
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/main.c
    M gdbstub/user.c
    M include/gdbstub/user.h
    M linux-user/main.c

  Log Message:
  -----------
  {linux,bsd}-user: Pass pid to gdbserver_fork()

The upcoming follow-fork-mode child support requires knowing the child
pid. Pass it down.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-7-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-8-alex.bennee@linaro.org>


  Commit: 6604b05763515f6329bf508ff1284651ebffc33e
      
https://github.com/qemu/qemu/commit/6604b05763515f6329bf508ff1284651ebffc33e
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M bsd-user/main.c
    M gdbstub/user.c
    M include/gdbstub/user.h
    M linux-user/main.c

  Log Message:
  -----------
  gdbstub: Call gdbserver_fork() both in parent and in child

The upcoming follow-fork-mode child support requires post-fork message
exchange between the parent and the child. Prepare gdbserver_fork() for
this purpose. Rename it to gdbserver_fork_end() to better reflect its
purpose.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-8-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-9-alex.bennee@linaro.org>


  Commit: 6d923112fd18f73bd55cbae23ae5a8023457b85c
      
https://github.com/qemu/qemu/commit/6d923112fd18f73bd55cbae23ae5a8023457b85c
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gdbstub/gdbstub.c
    M gdbstub/internals.h
    M gdbstub/user.c

  Log Message:
  -----------
  gdbstub: Introduce gdb_handle_query_supported_user()

The upcoming follow-fork-mode child support requires advertising the
fork-events feature, which is user-specific. Introduce a user-specific
hook for this.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-9-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-10-alex.bennee@linaro.org>


  Commit: e454f2fe24793afd1fa596deb42b714478adf73b
      
https://github.com/qemu/qemu/commit/e454f2fe24793afd1fa596deb42b714478adf73b
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gdbstub/gdbstub.c
    M gdbstub/internals.h
    M gdbstub/user.c

  Log Message:
  -----------
  gdbstub: Introduce gdb_handle_set_thread_user()

The upcoming follow-fork-mode child support needs to perform certain
actions when GDB switches between the stopped parent and the stopped
child. Introduce a user-specific hook for this.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-10-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-11-alex.bennee@linaro.org>


  Commit: 539cb4ec49ec96aeb9dddba235c2f8bafc1c4fab
      
https://github.com/qemu/qemu/commit/539cb4ec49ec96aeb9dddba235c2f8bafc1c4fab
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gdbstub/gdbstub.c
    M gdbstub/internals.h
    M gdbstub/user.c

  Log Message:
  -----------
  gdbstub: Introduce gdb_handle_detach_user()

The upcoming follow-fork-mode child support needs to perform certain
actions when GDB detaches from the stopped parent or the stopped child.
Introduce a user-specific hook for this.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-11-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-12-alex.bennee@linaro.org>


  Commit: d547e711a8a520b1a160958443c0851a6767f95b
      
https://github.com/qemu/qemu/commit/d547e711a8a520b1a160958443c0851a6767f95b
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M gdbstub/user.c

  Log Message:
  -----------
  gdbstub: Implement follow-fork-mode child

Currently it's not possible to use gdbstub for debugging linux-user
code that runs in a forked child, which is normally done using the `set
follow-fork-mode child` GDB command. Purely on the protocol level, the
missing piece is the fork-events feature.

However, a deeper problem is supporting $Hg switching between different
processes - right now it can do only threads. Implementing this for the
general case would be quite complicated, but, fortunately, for the
follow-fork-mode case there are a few factors that greatly simplify
things: fork() happens in the exclusive section, there are only two
processes involved, and before one of them is resumed, the second one
is detached.

This makes it possible to implement a simplified scheme: the parent and
the child share the gdbserver socket, it's used only by one of them at
any given time, which is coordinated through a separate socketpair. The
processes can read from the gdbserver socket only one byte at a time,
which is not great for performance, but, fortunately, the
follow-fork-mode handling involves only a few messages.

Advertise the fork-events support, and remember whether GDB has it
as well. Implement the state machine that is initialized on fork(),
decides the current owner of the gdbserver socket, and is terminated
when one of the two processes is detached. The logic for the parent and
the child is the same, only the initial state is different.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-12-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-13-alex.bennee@linaro.org>


  Commit: b9504c9ad980b97e6888bf07c36c2be567b4c65d
      
https://github.com/qemu/qemu/commit/b9504c9ad980b97e6888bf07c36c2be567b4c65d
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M tests/tcg/multiarch/Makefile.target
    A tests/tcg/multiarch/follow-fork-mode.c
    A tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
    A tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py

  Log Message:
  -----------
  tests/tcg: Add two follow-fork-mode tests

Add follow-fork-mode child and and follow-fork-mode parent tests.
Check for the obvious pitfalls, such as lingering breakpoints,
catchpoints, and single-step mode.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240219141628.246823-13-iii@linux.ibm.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-14-alex.bennee@linaro.org>


  Commit: a3c2cf0b891d00ef502e9902baa9fb7fe1f8e7a3
      
https://github.com/qemu/qemu/commit/a3c2cf0b891d00ef502e9902baa9fb7fe1f8e7a3
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M include/qemu/plugin.h
    M include/qemu/qemu-plugin.h
    M plugins/api.c
    M plugins/core.c
    M plugins/plugin.h
    M plugins/qemu-plugins.symbols

  Log Message:
  -----------
  plugins: scoreboard API

We introduce a cpu local storage, automatically managed (and extended)
by QEMU itself. Plugin allocate a scoreboard, and don't have to deal
with how many cpus are launched.

This API will be used by new inline functions but callbacks can benefit
from this as well. This way, they can operate without a global lock for
simple operations.

At any point during execution, any scoreboard will be dimensioned with
at least qemu_plugin_num_vcpus entries.

New functions:
- qemu_plugin_scoreboard_find
- qemu_plugin_scoreboard_free
- qemu_plugin_scoreboard_new

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-2-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-15-alex.bennee@linaro.org>


  Commit: 8042e2eadfd61dcdae321c3632f06d188521bdf5
      
https://github.com/qemu/qemu/commit/8042e2eadfd61dcdae321c3632f06d188521bdf5
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M include/qemu/qemu-plugin.h
    M plugins/api.c
    M plugins/qemu-plugins.symbols

  Log Message:
  -----------
  plugins: define qemu_plugin_u64

Additionally to the scoreboard, we define a qemu_plugin_u64, which is a
simple struct holding a pointer to a scoreboard, and a given offset.
This allows to have a scoreboard containing structs, without having to
bring offset to operate on a specific field.

Since most of the plugins are simply collecting a sum of per-cpu values,
qemu_plugin_u64 directly support this operation as well.

All inline operations defined later will use a qemu_plugin_u64 as input.

New functions:
- qemu_plugin_u64_add
- qemu_plugin_u64_get
- qemu_plugin_u64_set
- qemu_plugin_u64_sum
New macros:
- qemu_plugin_scoreboard_u64
- qemu_plugin_scoreboard_u64_in_struct

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-3-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-16-alex.bennee@linaro.org>


  Commit: 62f92b8d978aba5de931323c3de788ccb2dbd87c
      
https://github.com/qemu/qemu/commit/62f92b8d978aba5de931323c3de788ccb2dbd87c
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M plugins/api.c
    M plugins/core.c
    M plugins/plugin.h

  Log Message:
  -----------
  plugins: implement inline operation relative to cpu_index

Instead of working on a fixed memory location, allow to address it based
on cpu_index, an element size and a given offset.
Result address: ptr + offset + cpu_index * element_size.

With this, we can target a member in a struct array from a base pointer.

Current semantic is not modified, thus inline operation still targets
always the same memory location.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-4-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-17-alex.bennee@linaro.org>


  Commit: 0bcebaba45c2cc3e671e002f3c15266f0ff03b8c
      
https://github.com/qemu/qemu/commit/0bcebaba45c2cc3e671e002f3c15266f0ff03b8c
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M include/qemu/plugin.h
    M include/qemu/qemu-plugin.h
    M plugins/api.c
    M plugins/core.c
    M plugins/plugin.h
    M plugins/qemu-plugins.symbols

  Log Message:
  -----------
  plugins: add inline operation per vcpu

Extends API with three new functions:
qemu_plugin_register_vcpu_{tb, insn, mem}_exec_inline_per_vcpu().

Those functions takes a qemu_plugin_u64 as input.

This allows to have a thread-safe and type-safe version of inline
operations.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-5-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-18-alex.bennee@linaro.org>


  Commit: b480f7a621c8a896aa7a79b22f179c3c153f3adc
      
https://github.com/qemu/qemu/commit/b480f7a621c8a896aa7a79b22f179c3c153f3adc
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    A tests/plugin/inline.c
    M tests/plugin/meson.build

  Log Message:
  -----------
  tests/plugin: add test plugin for inline operations

For now, it simply performs instruction, bb and mem count, and ensure
that inline vs callback versions have the same result. Later, we'll
extend it when new inline operations are added.

Use existing plugins to test everything works is a bit cumbersome, as
different events are treated in different plugins. Thus, this new one.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-6-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-19-alex.bennee@linaro.org>


  Commit: 4f8d886085de51cbe9699078fd8264450ba2e09a
      
https://github.com/qemu/qemu/commit/4f8d886085de51cbe9699078fd8264450ba2e09a
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M tests/plugin/mem.c
    M tests/tcg/Makefile.target

  Log Message:
  -----------
  tests/plugin/mem: migrate to new per_vcpu API

Reviewed-by: Luc Michel <luc.michel@amd.com>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-7-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-20-alex.bennee@linaro.org>


  Commit: 3d15c8d87e45d104da1485a4b34d8d6808935fbd
      
https://github.com/qemu/qemu/commit/3d15c8d87e45d104da1485a4b34d8d6808935fbd
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M tests/plugin/insn.c

  Log Message:
  -----------
  tests/plugin/insn: migrate to new per_vcpu API

Reviewed-by: Luc Michel <luc.michel@amd.com>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-8-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-21-alex.bennee@linaro.org>


  Commit: dd0f775074b62ac9ac7159f6d04d1dcc2fe09626
      
https://github.com/qemu/qemu/commit/dd0f775074b62ac9ac7159f6d04d1dcc2fe09626
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M tests/plugin/bb.c

  Log Message:
  -----------
  tests/plugin/bb: migrate to new per_vcpu API

Reviewed-by: Luc Michel <luc.michel@amd.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-9-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-22-alex.bennee@linaro.org>


  Commit: 2d0d551442d6ea5fda99d38d59eee2886130d977
      
https://github.com/qemu/qemu/commit/2d0d551442d6ea5fda99d38d59eee2886130d977
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M contrib/plugins/hotblocks.c

  Log Message:
  -----------
  contrib/plugins/hotblocks: migrate to new per_vcpu API

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-10-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-23-alex.bennee@linaro.org>


  Commit: c125a8ab04a495a89cadd8beb2729489265abe73
      
https://github.com/qemu/qemu/commit/c125a8ab04a495a89cadd8beb2729489265abe73
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M contrib/plugins/howvec.c

  Log Message:
  -----------
  contrib/plugins/howvec: migrate to new per_vcpu API

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-11-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-24-alex.bennee@linaro.org>


  Commit: fba3b490a26cb278dfa183d7fcc375746e312980
      
https://github.com/qemu/qemu/commit/fba3b490a26cb278dfa183d7fcc375746e312980
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M include/qemu/qemu-plugin.h
    M plugins/api.c
    M plugins/qemu-plugins.symbols

  Log Message:
  -----------
  plugins: remove non per_vcpu inline operation from API

Now we have a thread-safe equivalent of inline operation, and that all
plugins were changed to use it, there is no point to keep the old API.

In more, it will help when we implement more functionality (conditional
callbacks), as we can assume that we operate on a scoreboard.

API version bump was already done as part of this series.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-12-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-25-alex.bennee@linaro.org>


  Commit: 3077be254538b9fbb4bd5a7a9c60058b4580eb01
      
https://github.com/qemu/qemu/commit/3077be254538b9fbb4bd5a7a9c60058b4580eb01
  Author: Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M plugins/core.c
    M plugins/plugin.h

  Log Message:
  -----------
  plugins: cleanup codepath for previous inline operation

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Message-Id: <20240304130036.124418-13-pierrick.bouvier@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-26-alex.bennee@linaro.org>


  Commit: 83b4613ba835d6ed6dcee3001c7fc56dc7b21685
      
https://github.com/qemu/qemu/commit/83b4613ba835d6ed6dcee3001c7fc56dc7b21685
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M disas/disas.c
    M include/disas/dis-asm.h

  Log Message:
  -----------
  disas: introduce show_opcodes

For plugins we don't expect the raw opcodes in the disassembly. We
already deal with this by hand crafting our capstone call but for
other diassemblers we need a flag. Introduce show_opcodes which
defaults to off.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-27-alex.bennee@linaro.org>


  Commit: 7cff154b48d5ce64b6d65388c43a9a818672ec00
      
https://github.com/qemu/qemu/commit/7cff154b48d5ce64b6d65388c43a9a818672ec00
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M disas/hppa.c

  Log Message:
  -----------
  disas/hppa: honour show_opcodes

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-28-alex.bennee@linaro.org>


  Commit: f6e0eabdb4647275d98c63982c0065dd80be7caf
      
https://github.com/qemu/qemu/commit/f6e0eabdb4647275d98c63982c0065dd80be7caf
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M target/loongarch/disas.c

  Log Message:
  -----------
  target/loongarch: honour show_opcodes when disassembling

This makes the output suitable when used for plugins.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-29-alex.bennee@linaro.org>


  Commit: db7e8b1f75662cf957f6bfad938ed112488518ed
      
https://github.com/qemu/qemu/commit/db7e8b1f75662cf957f6bfad938ed112488518ed
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M disas/riscv.c

  Log Message:
  -----------
  target/riscv: honour show_opcodes when disassembling

This makes the output suitable when used for plugins.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240305121005.3528075-30-alex.bennee@linaro.org>


  Commit: 8f6330a807f2642dc2a3cdf33347aa28a4c00a87
      
https://github.com/qemu/qemu/commit/8f6330a807f2642dc2a3cdf33347aa28a4c00a87
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M accel/tcg/plugin-gen.c
    M bsd-user/bsd-file.h
    M bsd-user/freebsd/os-proc.h
    M bsd-user/main.c
    M bsd-user/qemu.h
    M bsd-user/signal.c
    M contrib/plugins/hotblocks.c
    M contrib/plugins/howvec.c
    M disas/disas.c
    M disas/hppa.c
    M disas/riscv.c
    M gdbstub/gdbstub.c
    M gdbstub/internals.h
    M gdbstub/user-target.c
    M gdbstub/user.c
    M include/disas/dis-asm.h
    M include/gdbstub/user.h
    M include/qemu/plugin.h
    M include/qemu/qemu-plugin.h
    M include/user/safe-syscall.h
    M linux-user/aarch64/cpu_loop.c
    M linux-user/arm/cpu_loop.c
    M linux-user/arm/signal.c
    M linux-user/cris/cpu_loop.c
    M linux-user/elfload.c
    M linux-user/hppa/signal.c
    M linux-user/linuxload.c
    M linux-user/m68k/cpu_loop.c
    M linux-user/m68k/target_cpu.h
    M linux-user/main.c
    M linux-user/mips/cpu_loop.c
    M linux-user/ppc/signal.c
    M linux-user/qemu.h
    M linux-user/riscv/cpu_loop.c
    M linux-user/signal-common.h
    M linux-user/signal.c
    M linux-user/syscall.c
    M linux-user/user-internals.h
    M linux-user/vm86.c
    M linux-user/xtensa/signal.c
    M plugins/api.c
    M plugins/core.c
    M plugins/plugin.h
    M plugins/qemu-plugins.symbols
    M semihosting/arm-compat-semi.c
    M target/loongarch/disas.c
    M tests/plugin/bb.c
    A tests/plugin/inline.c
    M tests/plugin/insn.c
    M tests/plugin/mem.c
    M tests/plugin/meson.build
    M tests/qtest/libqos/qgraph.h
    M tests/tcg/Makefile.target
    M tests/tcg/multiarch/Makefile.target
    A tests/tcg/multiarch/follow-fork-mode.c
    A tests/tcg/multiarch/gdbstub/follow-fork-mode-child.py
    A tests/tcg/multiarch/gdbstub/follow-fork-mode-parent.py

  Log Message:
  -----------
  Merge tag 'pull-maintainer-updates-060324-1' of 
https://gitlab.com/stsquad/qemu into staging

maintainer updates (tests, gdbstub, plugins):

  - expand QOS_PATH_MAX_ELEMENT_SIZE to avoid LTO issues
  - support fork-follow-mode in gdbstub
  - new thread-safe scoreboard API for TCG plugins
  - suppress showing opcodes in plugin disassembly

# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmXoY7oACgkQ+9DbCVqe
# KkTdTwf8D8nUB+Ee6LuglW36vtd1ETdMfUmfRis7RIBsXZZ0Tg4+8LyfKkNi1vCL
# UMdWQTkSW79RfXr21QEtETokwLZ0CWQMdxDAWfOiz4S+uDgQyBE+lwUsy0mHBmd7
# +J4SQb3adoZ+//9KMJhRU1wL9j3ygpEoKHVJonDObU6K5XuhE18JuBE44q7FqkWl
# 0VhoLDgNxrf2PqT+LLP/O3MFLDXPVKbzrZYQF0IoqBTlcqShCoaykhSwiwCZ4Sqq
# NO9hVwZIOFOcOF4F6ZqRXaZrwERldoBwG+BeIx1ah20vKFVT12y02dQqdP/oKwe+
# /PXFXDdzs4yMOghb4Go6SiKlKT5g4A==
# =s1lF
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 06 Mar 2024 12:38:18 GMT
# gpg:                using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key) 
<alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8  DF35 FBD0 DB09 5A9E 2A44

* tag 'pull-maintainer-updates-060324-1' of https://gitlab.com/stsquad/qemu: 
(29 commits)
  target/riscv: honour show_opcodes when disassembling
  target/loongarch: honour show_opcodes when disassembling
  disas/hppa: honour show_opcodes
  disas: introduce show_opcodes
  plugins: cleanup codepath for previous inline operation
  plugins: remove non per_vcpu inline operation from API
  contrib/plugins/howvec: migrate to new per_vcpu API
  contrib/plugins/hotblocks: migrate to new per_vcpu API
  tests/plugin/bb: migrate to new per_vcpu API
  tests/plugin/insn: migrate to new per_vcpu API
  tests/plugin/mem: migrate to new per_vcpu API
  tests/plugin: add test plugin for inline operations
  plugins: add inline operation per vcpu
  plugins: implement inline operation relative to cpu_index
  plugins: define qemu_plugin_u64
  plugins: scoreboard API
  tests/tcg: Add two follow-fork-mode tests
  gdbstub: Implement follow-fork-mode child
  gdbstub: Introduce gdb_handle_detach_user()
  gdbstub: Introduce gdb_handle_set_thread_user()
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/db596ae19040...8f6330a807f2

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]