Missing review: 16 Since v2: - Fixed gdb_can_reverse (patch #16) - & -> mask, == -> flags (patch #20) - Dropped patch #29 (Move CPUWatchpoint def)
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é (31): 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: Reduce gdb_supports_guest_debug() scope 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: 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 | 11 ++++--- include/exec/breakpoint.h | 19 +++++++++-- include/exec/cputlb.h | 8 ++--- include/exec/watchpoint.h | 6 ++-- include/gdbstub/enums.h | 12 ++++--- include/hw/core/cpu.h | 53 ++++++++++-------------------- 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 | 5 +-- 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 | 30 ++++++++--------- accel/tcg/translate-all.c | 3 +- accel/tcg/user-exec-stub.c | 9 ++--- accel/tcg/watchpoint.c | 9 ++--- accel/whpx/whpx-accel-ops.c | 6 ---- cpu-common.c | 19 +++++++++-- cpu-target.c | 10 +++--- gdbstub/gdbstub.c | 18 +++++----- gdbstub/system.c | 37 ++++++++------------- 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 | 4 +-- target/arm/hvf/hvf.c | 27 +++++++-------- target/arm/hyp_gdbstub.c | 8 ++--- 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 | 14 ++++---- 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 | 19 ++++++----- 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 | 10 +++--- target/s390x/tcg/debug.c | 3 +- target/xtensa/dbg_helper.c | 2 +- trace-events | 2 +- 68 files changed, 392 insertions(+), 417 deletions(-) create mode 100644 accel/tcg/system-page-protection.h -- 2.53.0
