Missing review: 12-17 (AccelGdbConfig rework) Since v1: - Introduce AccelGdbConfig structure (Alex) - Dropped target-specific Breakpoint/Watchpoint changes (Richard working on it)
Refreshing the `split-accel' preparatory work; this series follows "accel: Preparatory cleanups for split-accel" from last year: https://lore.kernel.org/qemu-devel/[email protected]/ Nothing really noteworthy here, generic code refactoring with the objective to strengthen the various APIs, introducing few enums or headers. I'm quite pleased with the total diff-stat. Philippe Mathieu-Daudé (32): cpu: Constify CPUState::cc (cached CPUClass pointer) target/i386: Remove duplicate tlb_flush() call in cpu_post_load() accel/tcg: Restrict tlb_protect/unprotect_code() to TCG accel/hvf: Remove left-over comment accel/mshv: Replace @dirty field by generic CPUState::vcpu_dirty field gdbstub: Add trace event for STEP packet handler gdbstub: Only return E22 when reverse GDB is not supported accel/whpx: Implement missing AccelClass::gdbstub_supported_sstep_flags accel/kvm: Always define AccelOpsClass::supports_guest_debug accel/kvm: Simplify kvm_init() w.r.t. TARGET_KVM_HAVE_GUEST_DEBUG accel/kvm: Hold have_guest_debug in KVMState gdbstub: Inline gdb_supports_guest_debug() gdbstub: Move supported_sstep_flags in AccelGdbConfig structure accel: Have each implementation return their AccelGdbConfig gdbstub: Make default replay_mode value explicit in stubs accel: Hold @can_reverse information in AccelGdbConfig accel: Remove AccelOpsClass::supports_guest_debug cpu: Move BREAKPOINT definitions to 'exec/breakpoint.h' cpu: Define BreakpointFlags type accel: Remove unnecessary 'inline' qualifier in remove_all_breakpoints gdbstub/user: Directly call gdb_breakpoint_remove_all() in user mode gdbstub: Reduce @type variable scope gdbstub: Introduce GdbBreakpointType enumerator accel: Use GdbBreakpointType enum target/arm: Inline check_watchpoints() in arm_debug_check_watchpoint() target/ppc: Ensure TCG is used in ppc_update_daw() accel/tcg: Improve docstrings around TCGCPUOps::*watchpoint* handlers cpu: Move CPUWatchpoint definition to 'exec/watchpoint.h' cpu: Better name cpu_single_step() trace event cpu: Introduce cpu_single_stepping() helper cpu: Rename CPUState @singlestep_enabled -> @singlestep_flags cpu: Only check SSTEP_ENABLE flag in cpu_single_stepping() Richard Henderson (1): cpu: Move cpu_breakpoint_test out of line docs/system/gdb.rst | 2 +- accel/kvm/kvm-cpus.h | 12 ++++--- accel/tcg/system-page-protection.h | 17 +++++++++ gdbstub/internals.h | 12 ++++--- include/accel/accel-cpu-ops.h | 10 +++--- include/accel/accel-ops.h | 5 ++- include/accel/tcg/cpu-ops.h | 12 ++++--- include/exec/breakpoint.h | 26 ++++++++------ include/exec/cputlb.h | 8 ++--- include/exec/watchpoint.h | 20 +++++++++-- include/gdbstub/enums.h | 12 ++++--- include/hw/core/cpu.h | 57 +++++++++++------------------- include/qemu/accel.h | 13 ++++--- include/system/hvf_int.h | 14 ++++---- include/system/kvm.h | 9 +++-- include/system/mshv_int.h | 1 - include/system/whpx-all.h | 3 -- target/arm/internals.h | 6 ++-- accel/accel-common.c | 15 +++----- accel/hvf/hvf-accel-ops.c | 23 ++++++------ accel/hvf/hvf-all.c | 8 ++--- accel/kvm/kvm-accel-ops.c | 7 ++-- accel/kvm/kvm-all.c | 52 ++++++++------------------- accel/mshv/mshv-all.c | 18 +++++----- accel/tcg/cpu-exec-common.c | 2 +- accel/tcg/cpu-exec.c | 12 +++---- accel/tcg/cputlb.c | 15 ++++---- accel/tcg/tb-maint.c | 1 + accel/tcg/tcg-accel-ops-rr.c | 2 +- accel/tcg/tcg-accel-ops.c | 31 ++++++++-------- accel/tcg/tcg-all.c | 28 +++++++-------- accel/tcg/translate-all.c | 3 +- accel/tcg/user-exec-stub.c | 11 +++--- accel/tcg/watchpoint.c | 9 ++--- accel/whpx/whpx-accel-ops.c | 6 ---- cpu-common.c | 23 +++++++++--- cpu-target.c | 10 +++--- gdbstub/gdbstub.c | 18 +++++----- gdbstub/system.c | 38 ++++++++------------ gdbstub/user.c | 20 +++-------- linux-user/riscv/cpu_loop.c | 2 +- linux-user/s390x/cpu_loop.c | 2 +- stubs/replay-mode.c | 2 +- system/cpus.c | 2 +- system/watchpoint.c | 8 ++--- target/arm/hvf/hvf.c | 27 +++++++------- target/arm/hyp_gdbstub.c | 9 ++--- target/arm/kvm.c | 14 ++++---- target/arm/tcg/debug.c | 44 ++++++++++------------- target/arm/tcg/mte_helper.c | 3 +- target/arm/whpx/whpx-all.c | 5 --- target/i386/hvf/hvf.c | 13 +++---- target/i386/kvm/kvm.c | 15 ++++---- target/i386/machine.c | 1 - target/i386/mshv/mshv-cpu.c | 6 ++-- target/i386/whpx/whpx-all.c | 13 +++---- target/loongarch/kvm/kvm.c | 10 +++--- target/microblaze/translate.c | 2 +- target/ppc/cpu.c | 4 ++- target/ppc/kvm.c | 20 ++++++----- target/ppc/translate.c | 16 ++++----- target/riscv/cpu_helper.c | 2 +- target/riscv/debug.c | 12 +++---- target/riscv/kvm/kvm-cpu.c | 8 +++-- target/s390x/kvm/kvm.c | 11 +++--- target/s390x/tcg/debug.c | 3 +- target/xtensa/dbg_helper.c | 2 +- target/xtensa/helper.c | 1 + trace-events | 2 +- 69 files changed, 417 insertions(+), 433 deletions(-) create mode 100644 accel/tcg/system-page-protection.h -- 2.53.0
