KVM: s390: Fix handling of iscs.
authorCornelia Huck <cornelia.huck@de.ibm.com>
Thu, 7 Feb 2013 12:20:52 +0000 (13:20 +0100)
committerGleb Natapov <gleb@redhat.com>
Mon, 11 Feb 2013 08:49:55 +0000 (10:49 +0200)
commit79fd50c67f91136add9726fb7719b57a66c6f763
tree447eae3cd59084024517a7d00f3a5902c67da6bb
parent24db2734ad8123b6858ca98d690483ecdcceebb5
KVM: s390: Fix handling of iscs.

There are two ways to express an interruption subclass:
- As a bitmask, as used in cr6.
- As a number, as used in the I/O interruption word.

Unfortunately, we have treated the I/O interruption word as if it
contained the bitmask as well, which went unnoticed so far as
- (not-yet-released) qemu made the same mistake, and
- Linux guest kernels don't check the isc value in the I/O interruption
  word for subchannel interrupts.

Make sure that we treat the I/O interruption word correctly.

Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
arch/s390/kvm/interrupt.c