diff options
author | Song Shan Gong <gongss@linux.vnet.ibm.com> | 2016-01-19 02:55:00 +0100 |
---|---|---|
committer | Cornelia Huck <cornelia.huck@de.ibm.com> | 2016-01-27 15:34:47 +0100 |
commit | c81b4f896f2768a34d6e65e5f3e588515b10f631 (patch) | |
tree | aa5013c5420be6aa91db3e1489a2dc68e5cff91b /target-s390x | |
parent | f70202be535b5601fd02c725dc1d74f3bfc5039c (diff) | |
download | qemu-c81b4f896f2768a34d6e65e5f3e588515b10f631.zip qemu-c81b4f896f2768a34d6e65e5f3e588515b10f631.tar.gz qemu-c81b4f896f2768a34d6e65e5f3e588515b10f631.tar.bz2 |
s390x: fix generation of event information crw
Only one channel report word (crw) may be pending if there is
event-information pending.
This patch introduces a bool-type field 'sei_pending' for the
channel subsystem, which indicates whether there are pending events.
It is set when event information is made pending and the crw
generated, and cleared after the guest has collected all pending
event information. A crw is not generated if this flag had already
been set.
Signed-off-by: Song Shan Gong <gongss@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Diffstat (limited to 'target-s390x')
-rw-r--r-- | target-s390x/ioinst.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/target-s390x/ioinst.c b/target-s390x/ioinst.c index 57c2d8b..9a8de6d 100644 --- a/target-s390x/ioinst.c +++ b/target-s390x/ioinst.c @@ -614,6 +614,7 @@ static void ioinst_handle_chsc_sei(ChscReq *req, ChscResp *res) (*res_flags) |= 0x80; } else { (*res_flags) &= ~0x80; + css_clear_sei_pending(); } } else { res->code = cpu_to_be16(0x0005); |