aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@linux.vnet.ibm.com>2013-12-17 19:50:01 +0100
committerAlexander Graf <agraf@suse.de>2013-12-18 14:24:11 +0100
commit10c8599a49f99180c2f79596325a5e856cdac59f (patch)
tree3b311acc5d341384060c0a015cdc5a3895ddfb10
parent3796f0e1cda41eacf4fc915e7edaf54f2279466c (diff)
s390x/ioinst: CHSC has to set a condition code
I missed to set the CC in the CHSC instruction when I refactored the CC setting in the IO instructions with the following commit: 5d9bf1c07c1369ab3506fc82cc65a10f4415d867 s390/ioinst: Moved the CC setting to the IO instruction handlers This patch now restores the correct behaviour of CHSC by setting the condition code 0 at the end of the instruction. Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
-rw-r--r--target-s390x/ioinst.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-s390x/ioinst.c b/target-s390x/ioinst.c
index 8d6363df4e..b8a6486f51 100644
--- a/target-s390x/ioinst.c
+++ b/target-s390x/ioinst.c
@@ -622,6 +622,7 @@ void ioinst_handle_chsc(S390CPU *cpu, uint32_t ipb)
break;
}
+ setcc(cpu, 0); /* Command execution complete */
out:
s390_cpu_physical_memory_unmap(env, req, map_size, 1);
}