linux/arch/ia64/kvm
Jan Kiszka d0bfb940ec KVM: New guest debug interface
This rips out the support for KVM_DEBUG_GUEST and introduces a new IOCTL
instead: KVM_SET_GUEST_DEBUG. The IOCTL payload consists of a generic
part, controlling the "main switch" and the single-step feature. The
arch specific part adds an x86 interface for intercepting both types of
debug exceptions separately and re-injecting them when the host was not
interested. Moveover, the foundation for guest debugging via debug
registers is layed.

To signal breakpoint events properly back to userland, an arch-specific
data block is now returned along KVM_EXIT_DEBUG. For x86, the arch block
contains the PC, the debug exception, and relevant debug registers to
tell debug events properly apart.

The availability of this new interface is signaled by
KVM_CAP_SET_GUEST_DEBUG. Empty stubs for not yet supported archs are
provided.

Note that both SVM and VTX are supported, but only the latter was tested
yet. Based on the experience with all those VTX corner case, I would be
fairly surprised if SVM will work out of the box.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-03-24 11:02:49 +02:00
..
asm-offsets.c KVM: ia64: Remove some macro definitions in asm-offsets.c. 2008-12-31 16:52:25 +02:00
irq.h KVM: Move irqchip_in_kernel() from ioapic.h to irq.h 2008-10-15 14:25:36 +02:00
Kconfig KVM: Require the PCI subsystem 2008-11-11 20:56:13 +02:00
kvm_fw.c KVM: ia64: Fix halt emulation logic 2008-10-28 14:22:14 +02:00
kvm_lib.c KVM: ia64: Define printk function for kvm-intel module 2008-12-31 16:54:59 +02:00
kvm_minstate.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
kvm-ia64.c KVM: New guest debug interface 2009-03-24 11:02:49 +02:00
lapic.h KVM: ia64: Add header files for kvm/ia64 2008-04-27 12:01:03 +03:00
Makefile KVM: change KVM to use IOMMU API 2009-01-03 14:11:07 +01:00
memcpy.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
memset.S KVM: ia64: fix GVMM module including position-dependent objects 2008-05-18 14:34:16 +03:00
misc.h KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00
mmio.c KVM: ia64: Add some debug points to provide crash infomation 2008-12-31 16:54:59 +02:00
optvfault.S KVM: ia64: Fix: Use correct calling convention for PAL_VPS_RESUME_HANDLER 2008-11-23 15:08:22 +02:00
process.c KVM: ia64: fix fp fault/trap handler 2009-02-15 02:47:35 +02:00
trampoline.S KVM: ia64: Add trampoline for guest/host mode switch 2008-04-27 12:01:08 +03:00
vcpu.c KVM: ia64: Add some debug points to provide crash infomation 2008-12-31 16:54:59 +02:00
vcpu.h KVM: ia64: Add handler for crashed vmm 2008-12-31 16:54:59 +02:00
vmm_ivt.S KVM: ia64: Clean up vmm_ivt.S using tab to indent every line 2008-12-31 16:54:59 +02:00
vmm.c KVM: ia64: Add handler for crashed vmm 2008-12-31 16:54:59 +02:00
vti.h KVM: ia64: Add header files for kvm/ia64 2008-04-27 12:01:03 +03:00
vtlb.c KVM: ia64: Re-organize data sturure of guests' data area 2008-12-31 16:51:49 +02:00