qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] d157e5: cpu-exec: simplify jump cache managem


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] d157e5: cpu-exec: simplify jump cache management
Date: Tue, 30 Jan 2024 07:54:23 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: d157e540edc2dbc30b66c26d8378c724ffcac8d0
      
https://github.com/qemu/qemu/commit/d157e540edc2dbc30b66c26d8378c724ffcac8d0
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M accel/tcg/tb-jmp-cache.h

  Log Message:
  -----------
  cpu-exec: simplify jump cache management

Unless I'm missing something egregious, the jmp cache is only every
populated with a valid entry by the same thread that reads the cache.
Therefore, the contents of any valid entry are always consistent and
there is no need for any acquire/release magic.

Indeed ->tb has to be accessed with atomics, because concurrent
invalidations would otherwise cause data races.  But ->pc is only ever
accessed by one thread, and accesses to ->tb and ->pc within tb_lookup
can never race with another tb_lookup.  While the TranslationBlock
(especially the flags) could be modified by a concurrent invalidation,
store-release and load-acquire operations on the cache entry would
not add any additional ordering beyond what you get from performing
the accesses within a single thread.

Because of this, there is really nothing to win in splitting the CF_PCREL
and !CF_PCREL paths.  It is easier to just always use the ->pc field in
the jump cache.

I noticed this while working on splitting commit 8ed558ec0cb
("accel/tcg: Introduce TARGET_TB_PCREL", 2022-10-04) into multiple
pieces, for the sake of finding a more fine-grained bisection
result for https://gitlab.com/qemu-project/qemu/-/issues/2092.
It does not (and does not intend to) fix that issue; therefore
it may make sense to not commit it until the root cause
of issue #2092 is found.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240122153409.351959-1-pbonzini@redhat.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: c4b3f46c15153308054703c7b0053f2bad26242d
      
https://github.com/qemu/qemu/commit/c4b3f46c15153308054703c7b0053f2bad26242d
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/cpu-common.h
    A include/exec/vaddr.h

  Log Message:
  -----------
  include/exec: Move vaddr defines to separate file

Needed to work around circular includes. vaddr is currently defined in
cpu-common.h and needed by hw/core/cpu.h, but cpu-common.h also need
cpu.h to know the size of the CPUState.

[Maybe we can instead move parts of cpu-common.h w. hw/core/cpu.h to
sort out the circular inclusion.]

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-7-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[rth: Add include of vaddr.h into cpu-common.h]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 61d6a915132db4616f601d5144fdac45f429a4cd
      
https://github.com/qemu/qemu/commit/61d6a915132db4616f601d5144fdac45f429a4cd
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/hw/core/cpu.h

  Log Message:
  -----------
  hw/core: Include vaddr.h from cpu.h

cpu-common.h is only needed for vaddr

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-8-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 32f0c394bbf7fb2be635658cbf84c72a124720a0
      
https://github.com/qemu/qemu/commit/32f0c394bbf7fb2be635658cbf84c72a124720a0
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/translator.h
    M target/alpha/translate.c
    M target/arm/tcg/translate.c
    M target/avr/translate.c
    M target/cris/translate.c
    M target/hexagon/translate.c
    M target/hppa/translate.c
    M target/i386/tcg/translate.c
    M target/loongarch/tcg/translate.c
    M target/m68k/translate.c
    M target/microblaze/translate.c
    M target/mips/tcg/translate.c
    M target/nios2/translate.c
    M target/openrisc/translate.c
    M target/ppc/translate.c
    M target/riscv/translate.c
    M target/rx/translate.c
    M target/s390x/tcg/translate.c
    M target/sh4/translate.c
    M target/sparc/translate.c
    M target/tricore/translate.c
    M target/xtensa/translate.c

  Log Message:
  -----------
  target: Use vaddr in gen_intermediate_code

Makes gen_intermediate_code() signature target agnostic so the function
can be called from accel/tcg/translate-all.c without target specifics.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-9-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 85c19af63e7d1070062e5513bfcab223b93653f3
      
https://github.com/qemu/qemu/commit/85c19af63e7d1070062e5513bfcab223b93653f3
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/translator.h
    M target/hexagon/translate.c
    M target/m68k/translate.c
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h

  Log Message:
  -----------
  include/exec: Use vaddr in DisasContextBase for virtual addresses

Updates target/ QEMU_LOG macros to use VADDR_PRIx for printing updated
DisasContextBase fields.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-10-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f7ee94f05fe2385e591dc6c8aadd1253e7055490
      
https://github.com/qemu/qemu/commit/f7ee94f05fe2385e591dc6c8aadd1253e7055490
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/cpu_ldst.h

  Log Message:
  -----------
  include/exec: typedef abi_ptr to vaddr

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-11-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 58771921af60ede4beb35a4f0871014704405029
      
https://github.com/qemu/qemu/commit/58771921af60ede4beb35a4f0871014704405029
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h

  Log Message:
  -----------
  include/exec: Move PAGE_* macros to common header

These don't vary across targets and are used in soon-to-be common code
(cputlb.c).

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-15-anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: a7f6f4f53fe0d43c37cb2375e3e648f978296941
      
https://github.com/qemu/qemu/commit/a7f6f4f53fe0d43c37cb2375e3e648f978296941
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h

  Log Message:
  -----------
  include/exec: Move cpu_*()/cpu_env() to common header

Functions are target independent.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-17-anjo@rev.ng>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b11cdf27482af998a3fa42f36bc17a3f59404037
      
https://github.com/qemu/qemu/commit/b11cdf27482af998a3fa42f36bc17a3f59404037
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/hw/core/tcg-cpu-ops.h

  Log Message:
  -----------
  include/hw/core: Move do_interrupt in TCGCPUOps

The ifdef out of which it is moved is not quite right: do_interrupt is
only needed for system mode.  Move it to the top of a different ifdef
block, which preserves its position within the structure for that case.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240119144024.14289-18-anjo@rev.ng>
[rth: Split from a larger patch and simplified.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: fd3f7d24d48d3a70afe30af60bdbacdb993af945
      
https://github.com/qemu/qemu/commit/fd3f7d24d48d3a70afe30af60bdbacdb993af945
  Author: Anton Johansson <anjo@rev.ng>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/hw/core/tcg-cpu-ops.h

  Log Message:
  -----------
  include/hw/core: Remove i386 conditional on fake_user_interrupt

Always include fake_user_interrupt in user-only build, despite
only being used for i386.  This will enable cpu-exec.c to be
compiled only once.

Signed-off-by: Anton Johansson <anjo@rev.ng>
Message-ID: <20240119144024.14289-18-anjo@rev.ng>
[rth: Split out of a larger patch; remove TARGET_I386 conditional.]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 87ab270429618c13a6bf6dfc90d5edf6a3fa99b9
      
https://github.com/qemu/qemu/commit/87ab270429618c13a6bf6dfc90d5edf6a3fa99b9
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M cpu-target.c

  Log Message:
  -----------
  linux-user: Allow gdbstub to ignore page protection

gdbserver ignores page protection by virtue of using /proc/$pid/mem.
Teach qemu gdbstub to do this too. This will not work if /proc is not
mounted; accept this limitation.

One alternative is to temporarily grant the missing PROT_* bit, but
this is inherently racy. Another alternative is self-debugging with
ptrace(POKE), which will break if QEMU itself is being debugged - a
much more severe limitation.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240129093410.3151-2-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 4d48c1bc079147a02ec1a3df9a41497c515d2e61
      
https://github.com/qemu/qemu/commit/4d48c1bc079147a02ec1a3df9a41497c515d2e61
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M tests/guest-debug/run-test.py
    A tests/guest-debug/test_gdbstub.py
    M tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
    M tests/tcg/aarch64/gdbstub/test-sve.py
    M tests/tcg/multiarch/gdbstub/interrupt.py
    M tests/tcg/multiarch/gdbstub/memory.py
    M tests/tcg/multiarch/gdbstub/registers.py
    M tests/tcg/multiarch/gdbstub/sha1.py
    M tests/tcg/multiarch/gdbstub/test-proc-mappings.py
    M tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
    M tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
    M tests/tcg/s390x/gdbstub/test-signals-s390x.py
    M tests/tcg/s390x/gdbstub/test-svc.py

  Log Message:
  -----------
  tests/tcg: Factor out gdbstub test functions

Both the report() function as well as the initial gdbstub test sequence
are copy-pasted into ~10 files with slight modifications. This
indicates that they are indeed generic, so factor them out. While
at it, add a few newlines to make the formatting closer to PEP-8.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240129093410.3151-3-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 82607a73f8f6dc84d50a7f9b04ab740cc493d1cc
      
https://github.com/qemu/qemu/commit/82607a73f8f6dc84d50a7f9b04ab740cc493d1cc
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M tests/tcg/multiarch/Makefile.target
    A tests/tcg/multiarch/gdbstub/prot-none.py
    A tests/tcg/multiarch/prot-none.c

  Log Message:
  -----------
  tests/tcg: Add the PROT_NONE gdbstub test

Make sure that qemu gdbstub, like gdbserver, allows reading from and
writing to PROT_NONE pages.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20240129093410.3151-4-iii@linux.ibm.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f5e9362af1ad9514fb2cb283cecaa723b5c6cc40
      
https://github.com/qemu/qemu/commit/f5e9362af1ad9514fb2cb283cecaa723b5c6cc40
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  accel/tcg/cpu-exec: Use RCU_READ_LOCK_GUARD

Replace the manual rcu_read_(un)lock calls in cpu_exec().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240124074201.8239-2-philmd@linaro.org>
[rth: Use RCU_READ_LOCK_GUARD not WITH_RCU_READ_LOCK_GUARD]
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f3d57a82003a1e56190e5ca6d8154713ac3e7365
      
https://github.com/qemu/qemu/commit/f3d57a82003a1e56190e5ca6d8154713ac3e7365
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M system/physmem.c
    M target/meson.build
    A target/target-common.c

  Log Message:
  -----------
  target: Make qemu_target_page_mask() available for *-user

Currently qemu_target_page_mask() is usable only from the softmmu
code. Make it possible to use it from the *-user code as well.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-ID: <20231208003754.3688038-2-iii@linux.ibm.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240124075609.14756-2-philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[rth: Split out change to accel/tcg/perf.c]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 8a6a9ab6e5d6daffb00c87f23c887c22529abcb2
      
https://github.com/qemu/qemu/commit/8a6a9ab6e5d6daffb00c87f23c887c22529abcb2
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/perf.c

  Log Message:
  -----------
  accel/tcg: Make use of qemu_target_page_mask() in perf.c

Stop using TARGET_PAGE_MASK in order to make perf.c more
target-agnostic.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20231212003837.64090-2-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240125054631.78867-2-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 88d4b5138a8589262cf97477d7573949874b9ef8
      
https://github.com/qemu/qemu/commit/88d4b5138a8589262cf97477d7573949874b9ef8
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M include/exec/exec-all.h
    M include/exec/translation-block.h

  Log Message:
  -----------
  tcg: Make tb_cflags() usable from target-agnostic code

Currently tb_cflags() is defined in exec-all.h, which is not usable
from target-agnostic code. Move it to translation-block.h, which is.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20231212003837.64090-3-iii@linux.ibm.com>
Message-Id: <20240125054631.78867-3-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ad66ac2b3a905db4417c8fae1db112e7808053e0
      
https://github.com/qemu/qemu/commit/ad66ac2b3a905db4417c8fae1db112e7808053e0
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/perf.c

  Log Message:
  -----------
  accel/tcg: Remove #ifdef TARGET_I386 from perf.c

Preparation for moving perf.c to tcg/.

This affects only profiling guest code, which has code in a non-0 based
segment, e.g., 16-bit code, which is not particularly important.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20231212003837.64090-4-iii@linux.ibm.com>
Message-Id: <20240125054631.78867-4-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 327b75a469f2e7c3894e7b5c44f817df51064033
      
https://github.com/qemu/qemu/commit/327b75a469f2e7c3894e7b5c44f817df51064033
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    R accel/tcg/debuginfo.c
    R accel/tcg/debuginfo.h
    M accel/tcg/meson.build
    R accel/tcg/perf.c
    R accel/tcg/perf.h
    M accel/tcg/translate-all.c
    M hw/core/loader.c
    A include/tcg/debuginfo.h
    A include/tcg/perf.h
    M linux-user/elfload.c
    M linux-user/exit.c
    M linux-user/main.c
    M system/vl.c
    A tcg/debuginfo.c
    M tcg/meson.build
    A tcg/perf.c
    M tcg/tcg.c

  Log Message:
  -----------
  accel/tcg: Move perf and debuginfo support to tcg/

tcg/ should not depend on accel/tcg/, but perf and debuginfo
support provided by the latter are being used by tcg/tcg.c.

Since that's the only user, move both to tcg/.

Suggested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20231212003837.64090-5-iii@linux.ibm.com>
Message-Id: <20240125054631.78867-5-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 29c0e6836f89ac60763b453424ea374bc37e48d6
      
https://github.com/qemu/qemu/commit/29c0e6836f89ac60763b453424ea374bc37e48d6
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/meson.build

  Log Message:
  -----------
  accel/tcg: Rename tcg_ss[] -> tcg_specific_ss[] in meson

tcg_ss[] source set contains target-specific units.
Rename it as 'tcg_specific_ss[]' for clarity.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240124101639.30056-2-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: cca2f62e74cacb23d1a63b2596ab79f28ae09770
      
https://github.com/qemu/qemu/commit/cca2f62e74cacb23d1a63b2596ab79f28ae09770
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/tcg-accel-ops.c
    M accel/tcg/tcg-accel-ops.h

  Log Message:
  -----------
  accel/tcg: Rename tcg_cpus_destroy() -> tcg_cpu_destroy()

tcg_cpus_destroy() operates on a single vCPU, rename it
as 'tcg_cpu_destroy'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240124101639.30056-3-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: f4cf2ef93f26fcdc3110919f9eb1e6bc8620dd51
      
https://github.com/qemu/qemu/commit/f4cf2ef93f26fcdc3110919f9eb1e6bc8620dd51
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/tcg-accel-ops.c
    M accel/tcg/tcg-accel-ops.h

  Log Message:
  -----------
  accel/tcg: Rename tcg_cpus_exec() -> tcg_cpu_exec()

tcg_cpus_exec() operates on a single vCPU, rename it
as 'tcg_cpu_exec'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240124101639.30056-4-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 93c6091bfa41792b28b25cd7e3c1f578e44b0d15
      
https://github.com/qemu/qemu/commit/93c6091bfa41792b28b25cd7e3c1f578e44b0d15
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  accel/tcg: Un-inline icount_exit_request() for clarity

Convert packed logic to dumb icount_exit_request() helper.
No functional change intended.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Message-Id: <20240124101639.30056-5-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 1764ad70ce7c78b7f2f18bcf79cbab42a4e18b96
      
https://github.com/qemu/qemu/commit/1764ad70ce7c78b7f2f18bcf79cbab42a4e18b96
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M bsd-user/signal.c
    M include/hw/core/cpu.h
    M include/qemu/typedefs.h
    M linux-user/signal.c
    M target/alpha/cpu.c
    M target/arm/cpu.c
    M target/arm/tcg/cpu32.c
    M target/avr/cpu.c
    M target/cris/cpu.c
    M target/hexagon/cpu.c
    M target/hppa/cpu.c
    M target/i386/tcg/tcg-cpu.c
    M target/loongarch/cpu.c
    M target/m68k/cpu.c
    M target/microblaze/cpu.c
    M target/mips/cpu.c
    M target/nios2/cpu.c
    M target/openrisc/cpu.c
    M target/ppc/cpu_init.c
    M target/riscv/tcg/tcg-cpu.c
    M target/rx/cpu.c
    M target/s390x/cpu.c
    M target/sh4/cpu.c
    M target/sparc/cpu.c
    M target/tricore/cpu.c
    M target/xtensa/cpu.c

  Log Message:
  -----------
  include/qemu: Add TCGCPUOps typedef to typedefs.h

QEMU coding style recommends using structure typedefs.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 2889fb8bd25204436da40ac1e88ca7c7a4580e6a
      
https://github.com/qemu/qemu/commit/2889fb8bd25204436da40ac1e88ca7c7a4580e6a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M target/loongarch/cpu.c

  Log Message:
  -----------
  target/loongarch: Constify loongarch_tcg_ops

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 991bd65ddd3282f2422837a593adc621c0defc2d
      
https://github.com/qemu/qemu/commit/991bd65ddd3282f2422837a593adc621c0defc2d
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  accel/tcg: Use CPUState.cc instead of CPU_GET_CLASS in cpu-exec.c

CPU_GET_CLASS does runtime type checking; use the cached
copy of the class instead.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 0fdc69b76ee67583e0fe0e0fd31da212f506cd66
      
https://github.com/qemu/qemu/commit/0fdc69b76ee67583e0fe0e0fd31da212f506cd66
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M include/hw/core/tcg-cpu-ops.h

  Log Message:
  -----------
  accel/tcg: Introduce TCGCPUOps::need_replay_interrupt() handler

In order to make accel/tcg/ target agnostic,
introduce the need_replay_interrupt() handler.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Message-Id: <20240124101639.30056-7-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: 6ae754815f341f0a6dfe9c43ffe25e51375264b8
      
https://github.com/qemu/qemu/commit/6ae754815f341f0a6dfe9c43ffe25e51375264b8
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/sysemu/seg_helper.c
    M target/i386/tcg/tcg-cpu.c

  Log Message:
  -----------
  target/i386: Extract x86_need_replay_interrupt() from accel/tcg/

Move this x86-specific code out of the generic accel/tcg/.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240124101639.30056-8-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b7e9a4a9b0d74aca386682d384d4ad0d20226d24
      
https://github.com/qemu/qemu/commit/b7e9a4a9b0d74aca386682d384d4ad0d20226d24
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c

  Log Message:
  -----------
  accel/tcg: Inline need_replay_interrupt

The function is now trivial, and with inlining we can
re-use the calling function's tcg_ops variable.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: aa6fb65746c90496c3829fd49f86c7b059c4b846
      
https://github.com/qemu/qemu/commit/aa6fb65746c90496c3829fd49f86c7b059c4b846
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M include/hw/core/tcg-cpu-ops.h

  Log Message:
  -----------
  accel/tcg: Introduce TCGCPUOps::cpu_exec_halt() handler

In order to make accel/tcg/ target agnostic,
introduce the cpu_exec_halt() handler.

Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240124101639.30056-9-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: ec1d32af123e7f13d98754a72bcaa7aa8c8e9d27
      
https://github.com/qemu/qemu/commit/ec1d32af123e7f13d98754a72bcaa7aa8c8e9d27
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/sysemu/seg_helper.c
    M target/i386/tcg/tcg-cpu.c

  Log Message:
  -----------
  target/i386: Extract x86_cpu_exec_halt() from accel/tcg/

Move this x86-specific code out of the generic accel/tcg/.

Reported-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20240124101639.30056-10-philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


  Commit: b68d8b677ebe1a50bf374ac18f4f80313d6a38f5
      
https://github.com/qemu/qemu/commit/b68d8b677ebe1a50bf374ac18f4f80313d6a38f5
  Author: Angel M. Villegas <anvilleg@cisco.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M docs/interop/qemu-ga.rst
    M qga/main.c

  Log Message:
  -----------
  guest-agent: improve help for --allow-rpcs and --block-rpcs

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1757

Updates to qga help output and documentation for --allow-rpcs and --blocks-rpcs

Signed-off-by: "Angel M. Villegas" <anvilleg@cisco.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 8c72e19bfdf40ed8306769359c2b8902609672c7
      
https://github.com/qemu/qemu/commit/8c72e19bfdf40ed8306769359c2b8902609672c7
  Author: Samuel Tardieu <sam@rfc1149.net>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M tests/unit/test-qga.c

  Log Message:
  -----------
  tests/unit/test-qga: do not qualify executable paths

guest-exec invocation does not need the full path of the executable to
execute. Using only the command names ensures correct execution of the
test on systems not adhering to the FHS.

Signed-off-by: Samuel Tardieu <sam@rfc1149.net>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: "Daniel P. Berrangé" <berrange@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 7c4486350a79532580a37d42abdeb1dc7e4fa6c9
      
https://github.com/qemu/qemu/commit/7c4486350a79532580a37d42abdeb1dc7e4fa6c9
  Author: Peng Ji <peng.ji@smartx.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M qga/commands-win32.c

  Log Message:
  -----------
  qga-win: Fix guest-get-fsinfo multi-disks collection

When a volume has more than one disk, all disks cannot be
returned correctly because there is not enough malloced memory
for disk extents, so before executing DeviceIoControl for the
second time, get the correct size of the required memory space
to store all disk extents.

Details:
https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ns-winioctl-volume_disk_extents

Signed-off-by: Peng Ji <peng.ji@smartx.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: b3e0f64487a4b937d871ce4ce9c259e02ec02191
      
https://github.com/qemu/qemu/commit/b3e0f64487a4b937d871ce4ce9c259e02ec02191
  Author: Nick Briggs <nicholas.h.briggs@gmail.com>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M qga/commands-posix.c

  Log Message:
  -----------
  qga: Solaris has net/if_arp.h and netinet/if_ether.h but not ETHER_ADDR_LEN

Solaris has net/if_arp.h and netinet/if_ether.h rather than net/ethernet.h,
but does not define ETHER_ADDR_LEN, instead providing ETHERADDRL.

Signed-off-by: Nick Briggs <nicholas.h.briggs@gmail.com>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>


  Commit: 1c8e621f097362d0a28c65fa2f31054b47a5282b
      
https://github.com/qemu/qemu/commit/1c8e621f097362d0a28c65fa2f31054b47a5282b
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M accel/tcg/cpu-exec.c
    R accel/tcg/debuginfo.c
    R accel/tcg/debuginfo.h
    M accel/tcg/meson.build
    R accel/tcg/perf.c
    R accel/tcg/perf.h
    M accel/tcg/tb-jmp-cache.h
    M accel/tcg/tcg-accel-ops-mttcg.c
    M accel/tcg/tcg-accel-ops-rr.c
    M accel/tcg/tcg-accel-ops.c
    M accel/tcg/tcg-accel-ops.h
    M accel/tcg/translate-all.c
    M bsd-user/signal.c
    M cpu-target.c
    M hw/core/loader.c
    M include/exec/cpu-all.h
    M include/exec/cpu-common.h
    M include/exec/cpu_ldst.h
    M include/exec/exec-all.h
    M include/exec/translation-block.h
    M include/exec/translator.h
    A include/exec/vaddr.h
    M include/hw/core/cpu.h
    M include/hw/core/tcg-cpu-ops.h
    M include/qemu/typedefs.h
    A include/tcg/debuginfo.h
    A include/tcg/perf.h
    M linux-user/elfload.c
    M linux-user/exit.c
    M linux-user/main.c
    M linux-user/signal.c
    M system/physmem.c
    M system/vl.c
    M target/alpha/cpu.c
    M target/alpha/translate.c
    M target/arm/cpu.c
    M target/arm/tcg/cpu32.c
    M target/arm/tcg/translate.c
    M target/avr/cpu.c
    M target/avr/translate.c
    M target/cris/cpu.c
    M target/cris/translate.c
    M target/hexagon/cpu.c
    M target/hexagon/translate.c
    M target/hppa/cpu.c
    M target/hppa/translate.c
    M target/i386/tcg/helper-tcg.h
    M target/i386/tcg/sysemu/seg_helper.c
    M target/i386/tcg/tcg-cpu.c
    M target/i386/tcg/translate.c
    M target/loongarch/cpu.c
    M target/loongarch/tcg/translate.c
    M target/m68k/cpu.c
    M target/m68k/translate.c
    M target/meson.build
    M target/microblaze/cpu.c
    M target/microblaze/translate.c
    M target/mips/cpu.c
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h
    M target/nios2/cpu.c
    M target/nios2/translate.c
    M target/openrisc/cpu.c
    M target/openrisc/translate.c
    M target/ppc/cpu_init.c
    M target/ppc/translate.c
    M target/riscv/tcg/tcg-cpu.c
    M target/riscv/translate.c
    M target/rx/cpu.c
    M target/rx/translate.c
    M target/s390x/cpu.c
    M target/s390x/tcg/translate.c
    M target/sh4/cpu.c
    M target/sh4/translate.c
    M target/sparc/cpu.c
    M target/sparc/translate.c
    A target/target-common.c
    M target/tricore/cpu.c
    M target/tricore/translate.c
    M target/xtensa/cpu.c
    M target/xtensa/translate.c
    A tcg/debuginfo.c
    M tcg/meson.build
    A tcg/perf.c
    M tcg/tcg.c
    M tests/guest-debug/run-test.py
    A tests/guest-debug/test_gdbstub.py
    M tests/tcg/aarch64/gdbstub/test-sve-ioctl.py
    M tests/tcg/aarch64/gdbstub/test-sve.py
    M tests/tcg/multiarch/Makefile.target
    M tests/tcg/multiarch/gdbstub/interrupt.py
    M tests/tcg/multiarch/gdbstub/memory.py
    A tests/tcg/multiarch/gdbstub/prot-none.py
    M tests/tcg/multiarch/gdbstub/registers.py
    M tests/tcg/multiarch/gdbstub/sha1.py
    M tests/tcg/multiarch/gdbstub/test-proc-mappings.py
    M tests/tcg/multiarch/gdbstub/test-qxfer-auxv-read.py
    M tests/tcg/multiarch/gdbstub/test-thread-breakpoint.py
    A tests/tcg/multiarch/prot-none.c
    M tests/tcg/s390x/gdbstub/test-signals-s390x.py
    M tests/tcg/s390x/gdbstub/test-svc.py

  Log Message:
  -----------
  Merge tag 'pull-tcg-20240130' of https://gitlab.com/rth7680/qemu into staging

linux-user: Allow gdbstub to ignore page protection
cpu-exec: simplify jump cache management
include/exec: Cleanups toward building accel/tcg once

# -----BEGIN PGP SIGNATURE-----
#
# iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmW4LXcdHHJpY2hhcmQu
# aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV+CgAf8CdqkvKsUK9/5bu99
# 9E4kRBkR8KqWYvBfRs4IFmjoEdEa4sCujWrHliOcW7Kh+XlVyAPI9rZG32QkxCEQ
# hi9WXieXjfPLTTmrbeiq7cwxztSj8Z55wwvbxkrtFyGDQ0AMccp49tAvfejEb6VD
# Ssx96nWQDgryLrn+My+wMQjl9aVKUWp5vB8k12aAcpRXPH2yoGE2JHAZ1C743nA6
# rShiJAT78HwERcMXDeYmmriYg0s4Z4+A6ErTiXDnFgj87YanHZc0I/55G5Sh+pW8
# REicD3jwS0GHOOHL0K781FopE1wTM442GLVxobXoxUXsHEiO+3TK5JdEIqvSstYA
# fRB8Pg==
# =xZOe
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 29 Jan 2024 22:57:59 GMT
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "richard.henderson@linaro.org"
# gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" 
[full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* tag 'pull-tcg-20240130' of https://gitlab.com/rth7680/qemu: (31 commits)
  target/i386: Extract x86_cpu_exec_halt() from accel/tcg/
  accel/tcg: Introduce TCGCPUOps::cpu_exec_halt() handler
  accel/tcg: Inline need_replay_interrupt
  target/i386: Extract x86_need_replay_interrupt() from accel/tcg/
  accel/tcg: Introduce TCGCPUOps::need_replay_interrupt() handler
  accel/tcg: Use CPUState.cc instead of CPU_GET_CLASS in cpu-exec.c
  target/loongarch: Constify loongarch_tcg_ops
  include/qemu: Add TCGCPUOps typedef to typedefs.h
  accel/tcg: Un-inline icount_exit_request() for clarity
  accel/tcg: Rename tcg_cpus_exec() -> tcg_cpu_exec()
  accel/tcg: Rename tcg_cpus_destroy() -> tcg_cpu_destroy()
  accel/tcg: Rename tcg_ss[] -> tcg_specific_ss[] in meson
  accel/tcg: Move perf and debuginfo support to tcg/
  accel/tcg: Remove #ifdef TARGET_I386 from perf.c
  tcg: Make tb_cflags() usable from target-agnostic code
  accel/tcg: Make use of qemu_target_page_mask() in perf.c
  target: Make qemu_target_page_mask() available for *-user
  accel/tcg/cpu-exec: Use RCU_READ_LOCK_GUARD
  tests/tcg: Add the PROT_NONE gdbstub test
  tests/tcg: Factor out gdbstub test functions
  ...

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


  Commit: bd2e12310b18b51aefbf834e6d54989fd175976f
      
https://github.com/qemu/qemu/commit/bd2e12310b18b51aefbf834e6d54989fd175976f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-01-30 (Tue, 30 Jan 2024)

  Changed paths:
    M docs/interop/qemu-ga.rst
    M qga/commands-posix.c
    M qga/commands-win32.c
    M qga/main.c
    M tests/unit/test-qga.c

  Log Message:
  -----------
  Merge tag 'qga-pull-2024-01-30' of https://github.com/kostyanf14/qemu into 
staging

qga-pull-2024-01-30

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEwsLBCepDxjwUI+uE711egWG6hOcFAmW409sACgkQ711egWG6
# hOc0PxAAj0Lhgt70OpAGQd5ERBgdRbh2/pJkKvdWBZvUAkVyFEp6Wn1UEC9aRpdi
# g8KCfYWVpp4LKMm5Ok1/8MKzAKT0jJFKatX0iZy/sx5M0A7x2/cJWgTv69L41Ld3
# FoJM/a/te8VUSk/jPKMqf4G7BzqYyHDnAlcnLjnvUsUabnocjmpSSckCNWLtQ/Sz
# RCGOwaTJ4HKW9O7yuw4gcXeYf2G21UemkITLh7Kdv/6fqqlg3k2gRSQeQ11Xh9Tc
# Jst7511vs+9AvDVM67o84z6UQwlp+23IJb3PBG2Td+Odr7BDAturWE4yyqPtjcpf
# Kcy6uMO6ZNYSW9CAspIF271fObLBPdvvMCHabar8x3LwF/6SxdnVRnWbqVsY/LSZ
# j76VB7TashwxzgqXEqmSrJmCSiCU4L7k8+KU0XxqIg4howlHzoRlejuMZzVK8Hyt
# Cu5tqa6yq8+twxzP4qQhkvazGgYgWo/xNaZ8D3h6xxxZ4NE/hN24YodtyFV/NGWE
# VSvUpzTKettECcyPo3OGezOqcr0vW5Z776MQOsMQWAjwm3bjM8hMzuKglnJe7Lt4
# DAbreHQ5s+pELQnq/cv7AVAr3zy2AIpPq4xDPJUHunAh+kMFY3cHCNaKytiRqmf+
# kZtd4nSN9j5+0oE5jSiuPn9C96y3shGL95XR6WW0nN1ImWOVgx4=
# =Tl7c
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 30 Jan 2024 10:47:55 GMT
# gpg:                using RSA key C2C2C109EA43C63C1423EB84EF5D5E8161BA84E7
# gpg: Good signature from "Kostiantyn Kostiuk (Upstream PR sign) 
<kkostiuk@redhat.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: C2C2 C109 EA43 C63C 1423  EB84 EF5D 5E81 61BA 84E7

* tag 'qga-pull-2024-01-30' of https://github.com/kostyanf14/qemu:
  qga: Solaris has net/if_arp.h and netinet/if_ether.h but not ETHER_ADDR_LEN
  qga-win: Fix guest-get-fsinfo multi-disks collection
  tests/unit/test-qga: do not qualify executable paths
  guest-agent: improve help for --allow-rpcs and --block-rpcs

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


Compare: https://github.com/qemu/qemu/compare/11be70677c70...bd2e12310b18



reply via email to

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