summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/kvm.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2012-12-20 15:32:08 +0100
committerMarcelo Tosatti <mtosatti@redhat.com>2013-01-07 19:53:40 -0200
commitd8346b7d9bab37e6cc712ff1622c65ff98bdfef8 (patch)
tree60f36ff7f61757501f3560d8860ca217d7e92640 /include/uapi/linux/kvm.h
parentb1c571a50dfacf25a24c23271e9b8bf18ff6b102 (diff)
downloadop-kernel-dev-d8346b7d9bab37e6cc712ff1622c65ff98bdfef8.zip
op-kernel-dev-d8346b7d9bab37e6cc712ff1622c65ff98bdfef8.tar.gz
KVM: s390: Support for I/O interrupts.
Add support for handling I/O interrupts (standard, subchannel-related ones and rudimentary adapter interrupts). The subchannel-identifying parameters are encoded into the interrupt type. I/O interrupts are floating, so they can't be injected on a specific vcpu. Reviewed-by: Alexander Graf <agraf@suse.de> Reviewed-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'include/uapi/linux/kvm.h')
-rw-r--r--include/uapi/linux/kvm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index e6e5d4b..54540bd 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -401,6 +401,15 @@ struct kvm_s390_psw {
#define KVM_S390_INT_SERVICE 0xffff2401u
#define KVM_S390_INT_EMERGENCY 0xffff1201u
#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u
+/* Anything below 0xfffe0000u is taken by INT_IO */
+#define KVM_S390_INT_IO(ai,cssid,ssid,schid) \
+ (((schid)) | \
+ ((ssid) << 16) | \
+ ((cssid) << 18) | \
+ ((ai) << 26))
+#define KVM_S390_INT_IO_MIN 0x00000000u
+#define KVM_S390_INT_IO_MAX 0xfffdffffu
+
struct kvm_s390_interrupt {
__u32 type;
OpenPOWER on IntegriCloud