KVM: s390: Add support for channel I/O instructions.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Thu, 20 Dec 2012 14:32:12 +0000 (15:32 +0100)
committerMarcelo Tosatti <mtosatti@redhat.com>
Mon, 7 Jan 2013 21:53:43 +0000 (19:53 -0200)
commitfa6b7fe9928d50444c29b29c8563746c6b0c6299
tree0be284cf322eb82eefdb3df2743740e5578ba5c4
parentd6712df95bcfea597fc3ea2405ec13e8b69a7b8c
KVM: s390: Add support for channel I/O instructions.

Add a new capability, KVM_CAP_S390_CSS_SUPPORT, which will pass
intercepts for channel I/O instructions to userspace. Only I/O
instructions interacting with I/O interrupts need to be handled
in-kernel:

- TEST PENDING INTERRUPTION (tpi) dequeues and stores pending
  interrupts entirely in-kernel.
- TEST SUBCHANNEL (tsch) dequeues pending interrupts in-kernel
  and exits via KVM_EXIT_S390_TSCH to userspace for subchannel-
  related processing.

Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Documentation/virtual/kvm/api.txt
arch/s390/include/asm/kvm_host.h
arch/s390/kvm/intercept.c
arch/s390/kvm/interrupt.c
arch/s390/kvm/kvm-s390.c
arch/s390/kvm/kvm-s390.h
arch/s390/kvm/priv.c
arch/s390/kvm/trace-s390.h
include/trace/events/kvm.h
include/uapi/linux/kvm.h