linux/arch/s390/include/asm
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
..
airq.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
appldata.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
atomic.h atomic_t: unify all arch definitions 2009-01-06 15:59:10 -08:00
auxvec.h [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
bitops.h [S390] fix ext2_find_next_bit 2008-08-21 19:46:41 +02:00
bug.h [S390] remove warnings with functions ending in BUG 2008-12-25 13:39:12 +01:00
bugs.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
cacheflush.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ccwdev.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ccwgroup.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
checksum.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
chpid.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
chsc.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
cio.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
cmb.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
compat.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
cpcmd.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
cpu.h [PATCH] improve idle cputime accounting 2008-12-31 15:11:48 +01:00
cputime.h [S390] Fix timeval regression on s390 2009-02-19 15:19:19 +01:00
current.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
dasd.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
debug.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
delay.h [S390] Move private simple udelay function to arch/s390/lib/delay.c. 2008-10-10 21:33:58 +02:00
device.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
diag.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
div64.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
dma.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ebcdic.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
elf.h [S390] personality: fix personality loss on execve 2009-01-23 16:40:28 +01:00
emergency-restart.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
errno.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
etr.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
extmem.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
fb.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
fcntl.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
fcx.h [S390] cio: update sac values 2008-12-25 13:39:06 +01:00
ftrace.h [S390] ftrace: function tracer backend for s390 2008-12-25 13:39:03 +01:00
futex.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
hardirq.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
hugetlb.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
idals.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
io.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ioctl.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ioctls.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ipcbuf.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ipl.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
irq_regs.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
irq.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
irqflags.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
isc.h [S390] zcrypt: Use of Thin Interrupts 2008-12-25 13:38:57 +01:00
itcw.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
kexec.h kexec jump: rename KEXEC_CONTROL_CODE_SIZE to KEXEC_CONTROL_PAGE_SIZE 2008-08-15 08:35:42 -07:00
kmap_types.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
kprobes.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
kvm_host.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
kvm_para.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
kvm_virtio.h virtio: use KVM_S390_VIRTIO_RING_ALIGN instead of relying on pagesize 2008-12-30 09:26:03 +10:30
kvm.h KVM: New guest debug interface 2009-03-24 11:02:49 +02:00
linkage.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
local.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
lowcore.h [S390] vdso: fix per cpu vdso pointer in lowcore 2009-02-11 10:37:39 +01:00
mathemu.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
mman.h [S390] make page table upgrade work again 2009-03-18 13:28:13 +01:00
mmu_context.h [S390] pgtables: Fix race in enable_sie vs. page table ops 2008-10-28 11:12:03 +01:00
mmu.h [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
module.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
monwriter.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
msgbuf.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
mutex.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
page.h [S390] introduce vdso on s390 2008-12-25 13:38:55 +01:00
param.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
pci.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
percpu.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
pgalloc.h [S390] clear_table inline assembly contraints 2008-12-25 13:39:15 +01:00
pgtable.h [S390] pgtable.h: Fix oops in unmap_vmas for KVM processes 2008-11-27 11:06:57 +01:00
poll.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
posix_types.h [S390] asm-s390/posix_types.h: drop __USE_ALL usage 2009-01-09 12:15:04 +01:00
processor.h [S390] make page table walking more robust 2009-03-18 13:28:13 +01:00
ptrace.h [S390] ptrace: no extern declarations for userspace 2009-01-09 12:15:03 +01:00
qdio.h [S390] qdio: fix qeth port count detection 2008-12-25 13:38:58 +01:00
qeth.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
reset.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
resource.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
rwsem.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
s390_ext.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
scatterlist.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
schid.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
sclp.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sections.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
segment.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sembuf.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
setup.h [S390] fix "mem=" handling in case of standby memory 2009-02-19 15:19:19 +01:00
sfp-machine.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sfp-util.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
shmbuf.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
shmparam.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sigcontext.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
siginfo.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
signal.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sigp.h [S390] convert s390 to generic IPI infrastructure 2008-12-25 13:38:56 +01:00
smp.h [S390] convert s390 to generic IPI infrastructure 2008-12-25 13:38:56 +01:00
socket.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sockios.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
sparsemem.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
spinlock_types.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
spinlock.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
stat.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
statfs.h S390: Update comments about why we don't use <asm-generic/statfs.h> 2008-09-06 19:30:19 +01:00
string.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
suspend.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
swab.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
syscall.h [S390] fix system call parameter functions. 2008-11-27 11:06:56 +01:00
sysinfo.h [S390] service level interface. 2008-12-25 13:39:00 +01:00
system.h [PATCH] improve precision of process accounting. 2008-12-31 15:11:47 +01:00
tape390.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
termbits.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
termios.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
thread_info.h [PATCH] improve precision of process accounting. 2008-12-31 15:11:47 +01:00
timer.h [PATCH] improve idle cputime accounting 2008-12-31 15:11:48 +01:00
timex.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
tlb.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
tlbflush.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
todclk.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
topology.h [S390] topology: define SD_MC_INIT to fix performance regression 2009-03-18 13:28:12 +01:00
types.h [S390] Use unsigned long long for u64 on 64bit. 2009-01-09 12:15:07 +01:00
uaccess.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
ucontext.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
unaligned.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
unistd.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
user.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
vdso.h [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID 2008-12-31 15:11:49 +01:00
vtoc.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
xor.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00
zcrypt.h [S390] move include/asm-s390 to arch/s390/include/asm 2008-08-01 20:42:05 +02:00