[PATCH v6 00/12] KVM Guest Debug support for arm64
Alex Bennée
alex.bennee at linaro.org
Fri Jun 19 05:23:38 PDT 2015
Here is V6 of the KVM Guest Debug support for arm64.
The changes are even more minimal than the last round which is
hopefully a good indication the series is ready for merging:
API/ABI Changes:
- returned to using u64 for control registers
- renamed KVM_GUESTDBG_USE_HW_BP->KVM_GUESTDBG_USE_HW
Keeping the control registers as 64 bit simplifies a lot of the code
especially around sys_regs code which is used for trap and emulate
as well as the GET/SET_ONE_REG interface which treats everything as
a 64 bit register. Hints have also been dropped that the
architecture could possibly expand the register one day and this
makes the ABI future proof against that.
The ioctl flag re-name was to make it clear that we are setting both
HW breakpoints and watchpoints.
Code Changes:
- Fix endian issues trapped aarch32 debug regs
- Changes due to control regs -> 64 bit
- Simplification of the sys_regs
- Simpler save/restore macro for hyp.S
- Tracing fixes for new register size
The rest of the changes cover whitespace, spelling, and re-wording of
some of the comments. I've also added some more r-b and s-o-b tags
from the last round of review.
For full details see the changelog on each of the patches.
GIT Repos:
The patches for this series are based off v4.1-rc8 and can be found
at:
Kernel:
https://git.linaro.org/people/alex.bennee/linux.git
branch: guest-debug/4.1-rc8-v8
QEMU:
https://github.com/stsquad/qemu
branch: kvm/guest-debug-v6
Alex Bennée (12):
KVM: add comments for kvm_debug_exit_arch struct
KVM: arm64: fix misleading comments in save/restore
KVM: arm64: guest debug, define API headers
KVM: arm: guest debug, add stub KVM_SET_GUEST_DEBUG ioctl
KVM: arm: introduce kvm_arm_init/setup/clear_debug
KVM: arm64: guest debug, add SW break point support
KVM: arm64: guest debug, add support for single-step
KVM: arm64: re-factor hyp.S debug register code
KVM: arm64: introduce vcpu->arch.debug_ptr
KVM: arm64: guest debug, HW assisted debug support
KVM: arm64: enable KVM_CAP_SET_GUEST_DEBUG
KVM: arm64: add trace points for guest_debug debug
Documentation/virtual/kvm/api.txt | 15 +-
arch/arm/include/asm/kvm_host.h | 4 +
arch/arm/kvm/arm.c | 46 ++-
arch/arm/kvm/trace.h | 17 +
arch/arm64/include/asm/hw_breakpoint.h | 12 +
arch/arm64/include/asm/kvm_asm.h | 26 +-
arch/arm64/include/asm/kvm_host.h | 36 ++-
arch/arm64/include/uapi/asm/kvm.h | 27 ++
arch/arm64/kernel/asm-offsets.c | 7 +
arch/arm64/kernel/hw_breakpoint.c | 12 -
arch/arm64/kvm/Makefile | 2 +-
arch/arm64/kvm/debug.c | 204 ++++++++++++
arch/arm64/kvm/handle_exit.c | 44 +++
arch/arm64/kvm/hyp.S | 550 ++++++++++-----------------------
arch/arm64/kvm/reset.c | 15 +
arch/arm64/kvm/sys_regs.c | 158 +++++++---
arch/arm64/kvm/trace.h | 105 +++++++
include/uapi/linux/kvm.h | 5 +
18 files changed, 821 insertions(+), 464 deletions(-)
create mode 100644 arch/arm64/kvm/debug.c
--
2.4.3
More information about the linux-arm-kernel
mailing list