summaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-06-15 17:57:00 +0200
committerAlexander Graf <agraf@suse.de>2015-06-17 12:40:50 +0200
commitae52e585bf5e9678a77be033fd4b430a2e78dfed (patch)
treef71f4621c06c829fd372573f745501692c226cb1 /target-s390x
parent8c29f8d6b9595ac0f9ab1b41f22e91aebab482d7 (diff)
downloadqemu-ae52e585bf5e9678a77be033fd4b430a2e78dfed.tar.gz
qemu-ae52e585bf5e9678a77be033fd4b430a2e78dfed.tar.bz2
qemu-ae52e585bf5e9678a77be033fd4b430a2e78dfed.zip
s390/ioinst: fix IO_INT_WORD_ISC macro
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. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/ioinst.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-s390x/ioinst.h b/target-s390x/ioinst.h
index 203bdba2d5..013cc91487 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