kvm: qemu: Switch to new guest debug interface
commitc330ae3a3ff3d840e97c6c781a8f03b7110d90f9
authorJan Kiszka <jan.kiszka@siemens.com>
Mon, 15 Dec 2008 12:48:27 +0000 (15 13:48 +0100)
committerAvi Kivity <avi@redhat.com>
Wed, 17 Dec 2008 12:21:17 +0000 (17 14:21 +0200)
tree1603b3773a992b48f0970becc40905713f92a746
parentd41c999d45aaa26158e49d7964826af512c53269
kvm: qemu: Switch to new guest debug interface

This patch switches both libkvm as well as the qemu pieces over to the
new guest debug interface. It comes with full support for software-based
breakpoints (via guest code modification), hardware-assisted breakpoints
and watchpoints (x86-only so far).

Breakpoint management is done inside qemu-kvm, transparently to gdbstub
and also avoiding that the gdb frontend takes over. This allows for
running debuggers inside the guest while guest debugging it active,
because the host can cleanly tell apart host- and guest-originated
breakpoint events.

Yet improvable are x86 corner cases when using single-step ("forgotten"
debug flags on the guest's stack). And, of course, the yet empty non-x86
helper functions have to be populated.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
libkvm/kvm-common.h
libkvm/libkvm.c
libkvm/libkvm.h
qemu/exec.c
qemu/gdbstub.c
qemu/gdbstub.h
qemu/qemu-kvm-ia64.c
qemu/qemu-kvm-x86.c
qemu/qemu-kvm.c
qemu/qemu-kvm.h
user/main.c