Am 15.06.2015 um 17:57 schrieb Aurelien Jarno: > The I/O-Interruption Subclass field corresponds to bits 2 to 5 (BE > notation) of the Interruption-Identification Word. The value should > be shift by 27 instead of 24. > > Cc: Christian Borntraeger <borntrae...@de.ibm.com> > Cc: Cornelia Huck <cornelia.h...@de.ibm.com> > Cc: Alexander Graf <ag...@suse.de> > Signed-off-by: Aurelien Jarno <aurel...@aurel32.net> > --- > target-s390x/ioinst.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/target-s390x/ioinst.h b/target-s390x/ioinst.h > index 203bdba..013cc91 100644 > --- a/target-s390x/ioinst.h > +++ b/target-s390x/ioinst.h > @@ -220,7 +220,7 @@ typedef struct IOIntCode { > #define IOINST_SCHID_SSID(_schid) ((_schid & 0x00060000) >> 17) > #define IOINST_SCHID_NR(_schid) (_schid & 0x0000ffff) > > -#define IO_INT_WORD_ISC(_int_word) ((_int_word & 0x38000000) >> 24) > +#define IO_INT_WORD_ISC(_int_word) ((_int_word & 0x38000000) >> 27) > #define ISC_TO_ISC_BITS(_isc) ((0x80 >> _isc) << 24) > > #define IO_INT_WORD_AI 0x80000000 >
Its Connys area of competence, but your change matches the KVM implementation in the kernel static u64 int_word_to_isc_bits(u32 int_word) { u8 isc = (int_word & 0x38000000) >> 27; return (0x80 >> isc) << 24; } so Reviewed-by: Christian Borntraeger <borntrae...@de.ibm.com>