This series implements QEMU KVM Guest Debug on RISC-V, with which we
could debug RISC-V KVM guest from the host side, using software
breakpoints.
This series is based on riscv-to-apply.next branch (v9.0.0) and is also
available at:
https://github.com/Du-Chao/qemu-alistair23/tree/riscv-to-apply.next.0524
The corresponding KVM side patches have been merged already:
https://lore.kernel.org/kvm/20240402062628.5425-1-duchao@eswincomputing.com/
A TODO list which will be added later:
1. HW breakpoints support
2. A 'corner case' in which the debug exception is not inserted by the
debugger, need to be re-injected to the guest.
Changes from RFC->v1:
- Rebased on riscv-to-apply.next
- use configs/ definition to conditionalize debug support
RFC link:
https://lore.kernel.org/qemu-riscv/20231221094923.7349-1-duchao@eswincomputing.com/
Chao Du (4):
target/riscv/kvm: add software breakpoints support
target/riscv/kvm: implement kvm_arch_update_guest_debug()
target/riscv/kvm: handle the exit with debug reason
target/riscv/kvm: define TARGET_KVM_HAVE_GUEST_DEBUG
accel/kvm/kvm-all.c | 8 +--
configs/targets/riscv64-softmmu.mak | 1 +
include/sysemu/kvm.h | 6 +-
target/arm/kvm.c | 6 +-
target/i386/kvm/kvm.c | 6 +-
target/mips/kvm.c | 6 +-
target/ppc/kvm.c | 6 +-
target/riscv/kvm/kvm-cpu.c | 101 ++++++++++++++++++++++++++++
target/s390x/kvm/kvm.c | 6 +-
9 files changed, 130 insertions(+), 16 deletions(-)
--
2.17.1